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