我的数据库查询有问题。我使用opencart 3.0.2.0,并在model / catalog / product.php中输入了以下代码:
ORDER BY p.date_added DESC, p.quantity DESC
我想给我看类别的产品,按日期添加的DESC(最新的)排序,但数量=> 1。但是在最后一页上,我也想看到数量为0的产品。
例如,我在一个类别中有200个产品,每页24个。只有20个产品缺货(数量= 0),我想在最后一页看到那些没有库存的产品。另外,我想通过p.date_added来全部订购。
使用此代码(ORDER BY p.date_added DESC, p.quantity DESC
),我看到的就像(ORDER BY p.date_added DESC
)。 “ p.quantity DESC
”无效。
希望你能理解我。谢谢!
答案 0 :(得分:1)
使用条件排序:
ORDER BY case
when p.quantity > 0 then p.date_added
else null
end DESC,
p.quantity DESC
答案 1 :(得分:0)
您可以先通过p.quantity <= 0
订购。在MySQL中,非布尔上下文中的布尔表达式的计算结果为0(代表false)或1(代表true)。当然0早于1。
ORDER BY p.quantity <= 0,
p.date_added DESC