我正在尝试按最低值对列进行排序,但是如果值是0,那么我希望该值的所有列都放在末尾而不是开始。

能做到吗?

只是说查询是当前..

SELECT * FROM auctions ORDER BY a.discount_start_date ASC


有什么方法可以做我想做的事吗?

最佳答案

在列ORDER BY FIELD上尝试a.discount_start_date

例:

SELECT * FROM auctions
ORDER BY FIELD( a.discount_start_date, '0000-00-00'), a.discount_start_date;


discount_start_date列中具有零日期的所有记录都放在最后,其余部分按升序排序并放在最上面。

参考:
MySQL: FIELD(str,str1,str2,str3,...)

关于mysql - 根据结果​​根据列值更改顺序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22594450/

10-11 05:21
查看更多