我有这张桌子(简体):
创建表`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