2010-02-12 58 views
1

假設我有一個產品列表,並且每個產品都有一個價格。我希望展示最昂貴的產品,如果2個產品或更多的領帶,然後我想按他們的名字命令。這樣做似乎並沒有產生我想要的結果:MySQL:按2個字段排序

ORDER BY cost DESC, product_name 

我在找什麼語法?

+2

看起來你有語法正確。你確定第一個結果是產生重複嗎? – jsmith 2010-02-12 20:33:30

+2

你的語法對我來說很好。你看到了什麼輸出? – 2010-02-12 20:33:40

+2

您可以發佈說明此子句的查詢結果不按預期方式工作嗎? – 2010-02-12 20:35:09

回答

4

問題在哪裏?

ORDER BY cost DESC, product_name 

cost desc順序,然後由product_name asc。你遇到什麼類型的意外行爲?

6

這工作得很好:

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'