有一个复杂的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的产品放在表格中间。需要一些帮助。
答案 0 :(得分:3)
使用此:
ORDER BY quantity = 0, price
{p> quantity = 0
对于所有零数量的项目都是1
,对于其他所有项目都是0
。