我想在CASE
clausule中使用ORDER BY
语句,如下所示:
ORDER BY
CASE
WHEN `Delivery`.`type` = 0 THEN `Delivery`.`quantity` ASC
WHEN `Delivery`.`type` = 1 THEN `Delivery`.`quantity` DESC
END
但我只能在ASC
之后使用DESC
/ END
个关键字。
有一些解决方案吗?
答案 0 :(得分:0)
您可以使用以下查询:
SELECT columns FROM tables WHERE condition
ORDER BY
CASE
WHEN `Delivery`.`type` = 0 THEN `Delivery`.`quantity` ASC,
WHEN `Delivery`.`type` = 1 THEN `Delivery`.`quantity` DESC
END;
答案 1 :(得分:0)
使用以下链接作为参考,我已将它们放在一起用于您的场景。
MySQL conditional ORDER BY ASC/DESC for date column
ORDER BY
CASE WHEN `Delivery`.`type` = 0 THEN `Delivery`.`quantity` END ASC,
CASE WHEN `Delivery`.`type` = 1 THEN `Delivery`.`quantity` END DESC;