问题:PHP / SQL - 显示每个查询的特定行数

如果已经问过这个问题,我深表歉意,我敢肯定,我只是无法找到解决我问题的类似问题/答案。

我正在从 PostgreSQL 中提取数据,并且我有一个类似于以下内容的 SQL 语句:

$SQL = "SELECT * FROM my_view_table WHERE id='".$my_id."'";

从这里我运行我的查询。该请求从 PostgreSQL 中的视图中提取,该视图查看更多表。那是对的。我不确定如何限制要显示的行数。我收到大约 1,000 行信息和大约 20 列数据,因此查询需要花费大量时间。

有没有办法要求第 0 - 100 行,然后是 101 - 200 等,所以我可以一次拉出 100 行来显示?我知道我必须使用一些代码来跟踪计数,但我只需要一些 SQL 帮助来查询“x 到 y”行。

感谢您对这个问题的帮助。 (如果已经回答了另一个非常相似的问题,那么一个链接就足够了!)

我已经在下面发布了我的问题的答案。

解答

我从 gnarly 对 LIMIT on SQL 的建议中找到了这个问题的答案

$sql = "SELECT * FROM my_table LIMIT X OFFSET Y";

其中 LIMIT 仅给出您想要的 X 行数,而 OFFSET 给出 Y 起点。因此显示第 0 到第 30 行:

$sql = "SELECT * FROM my_table LIMIT 30 OFFSET 0";

并显示第 31 到 60 行:

$sql = "SELECT * FROM my_table LIMIT 30 OFFSET 30";
Logo

PostgreSQL社区为您提供最前沿的新闻资讯和知识内容

更多推荐