有一个复杂的mysqli查询,它返回一个产品数组。我需要以特定的方式对结果进行排序:必须按价格(升序或降序)对产品进行排序,然后所有数量为0的产品都必须放在结果数组的末尾。所以返回的数组是:
product_id名称名称价格数量
0001产品1产品100 3
0005产品2 105 105 2
0003产品3 110 3 10
0002产品4 115 115 4
0008产品5 120 120 2
0004产品6 105 105 0
0005产品2 135 1 0
进行按数量订购DESC,价格无济于事,因为所有产品在按价格订购之前都按数量订购。否则,按价格订购,数量DESC将数量= 0的所有产品放在表的中间。需要一些帮助。
最佳答案
用这个:
ORDER BY quantity = 0, price
对于所有零数量的项目,
quantity = 0
将为1
,对于其他所有项目,其将为0
。关于mysql - 在MySQL中按两列自定义顺序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25459222/