【发布时间】:2013-09-05 00:52:23
【问题描述】:
我有一张如下所示的表格:
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组数量的任何解决方案。
我基本上想要这样的结果:
如果LIMITing 只显示 1 组:
2013-08-05 9:00:00 "Hi there!"
2013-08-05 10:00:00 "Hi again!"
如果LIMITing 显示 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!"
如果LIMITing 显示 1 组跳过第一个:
2013-08-07 14:00:00 "Hi from the future!"
这在 SQL 中如何实现?
【问题讨论】:
-
I would like to be able to get all messages and group=> 你这是什么意思?你能提供你预期的输出吗? -
@MostyMostacho 问题已更新:)
标签: mysql sql group-by pagination sql-order-by