嗨,我在prestashop工作的人,有一个很长的查询,该查询从不同的表中提取数据,将它们连接在一起,并像这样开始:
SELECT p.*, product_shop.*,
stock.out_of_stock,
IFNULL(stock.quantity, 0) as quantity,
product_attribute_shop.minimal_quantity AS
... etc etc
最后以BY的顺序排序,假设名称和限制(用于分页)
ORDER BY pl.`name` asc
LIMIT 0,9
我想添加一个数量子句,但是如果我
ORDER BY quantity desc, pl.`name` asc
LIMIT 0,9
现在先按数量然后按名称对结果进行排序。我试图实现的目标是也通过“数量”来命令它。但是我需要的只是将数量为0的产品放在最后。
我会更好地解释自己:
我想查看所有按名称订购的产品,但数量为0的产品,我最后需要它们(当然也按名称订购)。可以说我有14种产品:
我需要以某种方式订购,如果我
LIMIT 0,9 Result is: A,C,D,E,F,H,J,L,M
LIMIT 0,14 Result is: A,C,D,E,F,H,J,L,M,N,B,G,I,K
谢谢
SELECT . . .
COALESCE(stock.quantity, 0) as stock_quantity
. . .
ORDER BY stock_quantity desc, pl.`name` asc