MySQL中的两列自定义顺序

时间:2014-08-23 06:47:13

标签: mysql sql-order-by

有一个复杂的mysqli查询返回一系列产品。我需要以特定方式对结果进行排序:必须按价格(asc或desc)对产品进行排序,然后将所有数量为0的产品放在结果数组的末尾。所以返回的数组是:
              product_id名称价格数量
              0001 product1 100 3
              0005 product2 105 2
              0003 product3 110 10
              0002 product4 115 4
              0008 product5 120 2
              0004 product6 105 0
              0005 product2 135 0
         

按数量订购DESC,价格没有帮助,因为所有产品在按价格订购之前按数量订购。否则,订购BY价格,数量DESC将所有数量为0的产品放在表格中间。需要一些帮助。

1 个答案:

答案 0 :(得分:3)

使用此:

ORDER BY quantity = 0, price
{p> quantity = 0对于所有零数量的项目都是1,对于其他所有项目都是0