【发布时间】:2020-04-20 08:52:39
【问题描述】:
我有一个消息 ID,当我在所有聊天中搜索文本时会得到该 ID。一旦我点击它,我就会进入该聊天,现在我想要该消息周围的消息,即之前和之后的 10 条消息。我如何完成这个限制
【问题讨论】:
我有一个消息 ID,当我在所有聊天中搜索文本时会得到该 ID。一旦我点击它,我就会进入该聊天,现在我想要该消息周围的消息,即之前和之后的 10 条消息。我如何完成这个限制
【问题讨论】:
LIMIT 子句可用于限制 SELECT 语句返回的行数。
有两个参数,第一个参数指定要返回的第一行的偏移量,第二个参数指定要返回的最大行数。
SELECT * FROM tbl LIMIT 1,10; # Retrieve rows 1-10
您必须知道总共有多少行消息才能在您的情况下正确实施
另一种方法是使用带偏移量的限制为查询定义偏移量。例如
SELECT column FROM table LIMIT 10 OFFSET 10;
您可以使用服务器端语言计算出总记录,然后除以偏移量来计算出您需要执行多少次迭代查询
...
另一种方法是使用 pagination 或类似技术获取所有记录并使用 JS 等客户端语言对其进行分页
【讨论】: