我有一个包含这些列的表“ test”:id,name,timestamp
我做了这个查询:
SELECT * FROM test ORDER BY timestamp DESC
这会将最新记录作为查询的第一个结果。但是,某些时间戳记中充满了“ 0”,我想将它们放在其余的前面。
如果我按时间戳ASC排序,则整个结果将相反。我只想先使timestamp = 0,其余结果递减。
怎么做?
通过在order by
子句中进行其他比较来做到这一点:
SELECT *
FROM test
ORDER BY (timestamp = 0) desc,
timestamp DESC;
在MySQL中,布尔结果(例如for timestamp = 0
)被视为0
false和1
true。这使其可用于多种用途,包括这样的order by
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句