【问题标题】:Finding a range of records from mysql database从mysql数据库中查找一系列记录
【发布时间】:2020-04-20 08:52:39
【问题描述】:

我有一个消息 ID,当我在所有聊天中搜索文本时会得到该 ID。一旦我点击它,我就会进入该聊天,现在我想要该消息周围的消息,即之前和之后的 10 条消息。我如何完成这个限制

【问题讨论】:

    标签: mysql database


    【解决方案1】:

    LIMIT 子句可用于限制 SELECT 语句返回的行数。

    有两个参数,第一个参数指定要返回的第一行的偏移量,第二个参数指定要返回的最大行数。

    SELECT * FROM tbl LIMIT 1,10;  # Retrieve rows 1-10
    

    您必须知道总共有多少行消息才能在您的情况下正确实施

    另一种方法是使用带偏移量的限制为查询定义偏移量。例如

    SELECT column FROM table LIMIT 10 OFFSET 10;
    

    您可以使用服务器端语言计算出总记录,然后除以偏移量来计算出您需要执行多少次迭代查询

    ...

    另一种方法是使用 pagination 或类似技术获取所有记录并使用 JS 等客户端语言对其进行分页

    【讨论】:

      猜你喜欢
      • 2020-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多