我正在尝试按最低值对列进行排序,但是如果值是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/