我有一个 SQLite
看起来像这样的表:
channel message time
123 hello 2014-03-25 21:33:52
123 there 2014-03-25 22:31:00
222 hi also 2014-01-22 10:19:00
222 bye 2014-01-22 11:29:00
现在我想获取每个
channel
的最新消息并将所有结果按 DESC
排序.到目前为止我得到的是:
SELECT * from history WHERE GROUP BY channel order by date(time) DESC;
这将返回每个
channel
的最新消息但结果不正常。我越来越:
222 bye 2014-01-22 11:29:00
123 there 2014-03-25 22:31:00
channel
123
因为它是最新的,所以应该在顶部。任何想法我做错了什么?
最佳答案
我只是尝试订购使用日期和时间的数据,它可以工作,但仅适用于 DATE 或 TIME(我的字段名称)
在您的情况下,列的名称是“时间”,那么您为什么要使用 date(time)
而不是简单的time
?尝试简单地订购它:
SELECT * from history WHERE GROUP BY channel order by time DESC;
关于SQLite 按日期排序和分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22659890/