按时间戳记desc排序,但先放置0

Mbrouwer88

我有一个包含这些列的表“ test”:id,name,timestamp

我做了这个查询:

SELECT * FROM test ORDER BY timestamp DESC

这会将最新记录作为查询的第一个结果。但是,某些时间戳记中充满了“ 0”,我想将它们放在其余的前面。

如果我按时间戳ASC排序,则整个结果将相反。我只想先使timestamp = 0,其余结果递减。

怎么做?

戈登·利诺夫(Gordon Linoff)

通过在order by子句中进行其他比较来做到这一点

SELECT *
FROM test 
ORDER BY (timestamp = 0) desc,
         timestamp DESC;

在MySQL中,布尔结果(例如for timestamp = 0)被视为0false和1true。这使其可用于多种用途,包括这样的order by

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章