Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL:按2个字段排序_Mysql - Fatal编程技术网

MySQL:按2个字段排序

MySQL:按2个字段排序,mysql,Mysql,假设我有一个产品清单,每个产品都有一个价格。我想展示最贵的产品,如果有两种或更多的产品搭配,那么我想按他们的名字订购。这样做似乎不会产生我想要的结果: ORDER BY cost DESC, product_name 我要找的语法是什么?哪里有问题 ORDER BY cost DESC, product_name 将按成本说明订购,然后按产品名称asc订购。您遇到了什么类型的意外行为?问题出在哪里 ORDER BY cost DESC, product_name 将按成本说明订购,然后

假设我有一个产品清单,每个产品都有一个价格。我想展示最贵的产品,如果有两种或更多的产品搭配,那么我想按他们的名字订购。这样做似乎不会产生我想要的结果:

ORDER BY cost DESC, product_name
我要找的语法是什么?

哪里有问题

ORDER BY cost DESC, product_name 
将按成本说明订购,然后按产品名称asc订购。您遇到了什么类型的意外行为?

问题出在哪里

ORDER BY cost DESC, product_name 
将按成本说明订购,然后按产品名称asc订购。您遇到了什么类型的意外行为?

这很好:

use test;

create table products (cost decimal(15,2), product_name varchar(50));

insert into products values (14.50, 'b product');
insert into products values (14.50, 'a product');
insert into products values (15.50, 'c product');

select * from products order by cost desc, product_name
返回:

15.50, 'c product'
14.50, 'a product'
14.50, 'b product'
这很好:

use test;

create table products (cost decimal(15,2), product_name varchar(50));

insert into products values (14.50, 'b product');
insert into products values (14.50, 'a product');
insert into products values (15.50, 'c product');

select * from products order by cost desc, product_name
返回:

15.50, 'c product'
14.50, 'a product'
14.50, 'b product'

看起来你的语法是正确的。你确定第一个结果是产生重复的吗?我觉得你的语法很好。您看到了什么输出?您能发布说明此子句未按预期工作的查询结果吗?看起来您的语法正确。你确定第一个结果是产生重复的吗?我觉得你的语法很好。您看到了什么输出?您能发布说明此子句未按预期工作的查询结果吗?