2010-02-12 3 views
1

제품 목록이 있고 각각 가격이 있다고 가정합니다. 가장 비싼 제품을 보여 드리고 싶습니다. 2 개 이상의 제품이 있으면 그 이름으로 주문하고 싶습니다. 이렇게하면 원하는 결과를 얻지 못하는 것 같습니다.MySQL : 2 개 필드로 정렬

ORDER BY cost DESC, product_name 

찾고있는 구문은 무엇입니까?

+2

것 같습니다. 첫 번째 결과가 중복을 생성하고 있습니까? – jsmith

+2

당신의 구문은 저에게 잘 보입니다. 당신은 어떤 결과물을 보았습니까? –

+2

예상대로 작동하지 않는이 절을 설명하는 쿼리 결과를 게시 할 수 있습니까? –

답변

4

어디에 문제가 있습니까?

ORDER BY cost DESC, product_name 

product_name asc에 의해 다음 cost desc로 주문하고 있습니다. 어떤 유형의 예상치 못한 동작이 발생합니까?

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'