我有一个看起来像这样的表:
create (DATETIME) | Message (TEXT)
=========================================
2013-08-05 9:00:00 "Hi there!"
2013-08-05 10:00:00 "Hi again!"
2013-08-07 14:00:00 "Hi from the future!"
我希望能够获取所有消息并分组,DATE(create)
以便消息按 分组2013-08-05
,2013-08-07
依此类推。这很容易通过以下方式完成ORDER BY
:
SELECT * FROM messages ORDER BY create
问题是我希望能够按组分页。例如,如果我有 10 个不同的日期,我想每页显示所有消息 5 个日期组并分页。
我已经看到了很多关于LIMIT
组内元素数量的解决方案,但还没有看到任何LIMIT
组数量的解决方案。
我基本上想要看起来像这样的结果:
如果LIMIT
只显示 1 组:
2013-08-05 9:00:00 "Hi there!"
2013-08-05 10:00:00 "Hi again!"
如果LIMIT
显示 2 组:
2013-08-05 9:00:00 "Hi there!"
2013-08-05 10:00:00 "Hi again!"
2013-08-07 14:00:00 "Hi from the future!"
如果LIMIT
显示 1 组跳过第一个组:
2013-08-07 14:00:00 "Hi from the future!"
这如何在 SQL 中实现?