MySql条件排序

我有这张桌子(简体):

创建表`my_table`(

`id` INT NOT NULL AUTO_INCREMENT,

`item_name` VARCHAR(45)NULL,

`price` DECIMAL(10,0)NULL,

主键(`id`))

我需要从表中选择所有项目,并按以下方式排序:

1.价格> 0.00首先的项目,按价格ASC排序

2.价格= 0.00最后的项目,按ID排序

我尝试了这个:

    选择 * 

来自my_table

在哪里1

订购

当价格0.00时的情况

ELSE ID

结束

ASC

我得到类似的结果

item_name | 价钱

---------- | -------

foo | 150,00

酒吧 0,00

baz | 500,00

嗡嗡声 0,00

我如何建立查询

item_name | 价钱

---------- | -------

foo | 150,00

baz | 500,00

酒吧 0,00

嗡嗡声 0,00

感谢您的时间

回答:

这将达到目的。

 SELECT * 

FROM my_table

WHERE 1

ORDER BY

CASE price WHEN 0 THEN 1

ELSE -1

END ASC, price asc, id asc

以上是 MySql条件排序 的全部内容, 来源链接: utcz.com/qa/409096.html

回到顶部