我在想如果有更高级的方式在mysql查询中使用ORDER BY
。mysql ORDER BY IF else
我有查询从数据库中获取产品,使用价格顺序。 问题是,如果折扣价值不为零,它会覆盖主要价格,并且它应该以某种方式覆盖ORDER BY
行。
IDEA:
DESC
product_price discount
900 0
800 0
1200 700 //dicount overrides price
600 0
查询得到了25线,但逻辑是这样的:
SELECT
product_price as price,
IFNULL(discount_amount,0) as discount
FROM not_relevant
WHERE not_relevant
ORDER BY product_price DESC
所以,当我写的产品按价格分类排序,某些产品有折扣,所以主要价格被覆盖,仅按价格排序并不准确。
我试图用3210或两个ORDER BY
。
任何想法? 感谢您的帮助。
你要什么你的结果是什么样子?您的措词不清楚 – gvee
默认按价格排序,但如果折扣不为空使用折扣价值而不是价格值,则希望其更清楚。 – JTC