小编ecs*_*rim的帖子

MySql条件顺序由

我有这个表(简化):

CREATE TABLE `my_table` (
  `id` INT NOT NULL AUTO_INCREMENT ,
  `item_name` VARCHAR(45) NULL ,
  `price` DECIMAL(10,0) NULL ,
  PRIMARY KEY (`id`) )

我需要从表格中选择所有项目,这样订购:
1.价格> 0.00的商品,按价格ASC排序
2.价格= 0.00的商品最后,按ID排序

我试过这个:

    SELECT * 
    FROM my_table 
    WHERE 1  
    ORDER BY 
      CASE price WHEN !0.00 THEN price 
       ELSE id
      END 
    ASC

我得到的结果就像

item_name | price
----------|-------
foo       | 150,00
bar       |   0,00
baz       | 500,00
hum       |   0,00

如何构建查询

item_name | price
----------|-------
foo       | 150,00
baz       | 500,00
bar       |   0,00
hum       | …

mysql sql sorting

21
推荐指数
2
解决办法
2万
查看次数

标签 统计

mysql ×1

sorting ×1

sql ×1