SQLite 按日期排序和分组

标签 sqlite

我有一个 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/

相关文章:

sqlite - 在Genie + SQLite中查询

sql - SQL Select:厕所在50KM内的某个位置?

带有AND的python sqlite3查询

ios - 是否可以仅使用 Javascript 来加密/解密 SQLite 数据库?

java - 为 Android SQLite 动态生成创建表查询

javascript - Cordova Sqlite 插件插入带有空值的条目

android - 我应该将图像存储在 SQLite 数据库中吗?

android - 在 sqlite 中使用 autoincrement 关键字时出错

android - android中的SUM sqlite列 double 值

angular - 如何使用 ionic 存储在 sqlite db 中保存 ionic 4 问题数据?