Suppose I have a list of products, and each has a price. I wish to show the most e开发者_高级运维xpensive product, and if 2 products or more tie, then I wish to order by their name. Doing this doesn't seem to produce the results I want:
ORDER BY cost DESC, product_name
What is the syntax which I am looking for?
This works fine:
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
Returns:
15.50, 'c product'
14.50, 'a product'
14.50, 'b product'
where's the problem?
ORDER BY cost DESC, product_name
will order by cost desc
and then by product_name asc
. What type of unexpected behaviour are you experiencing?
精彩评论