MySQL查询顺序如果为null

时间:2011-07-10 23:08:38

标签: mysql

我正在尝试构建一个具有order by语句的MySQL查询。这就是我想要做的事情:

SELECT * 
FROM tbl_product 
ORDER BY retail_price ONLY IF wholesale_price IS NULL OTHERWISE ORDER BY wholesale_price.

我不知道从哪里开始。我找到了一篇使用ORDER BY COALESCE的文章,但我也发现这可能存在性能问题。

感谢任何建议。

1 个答案:

答案 0 :(得分:25)

SELECT * 
FROM tbl_product 
ORDER BY ifnull(wholesale_price, retail_price);

请注意,您无需选择您订购的值 - 它可以是任何表达式