gpt4 book ai didi

sql - 跳过 PostgreSQL 中的每第 n 个结果行

转载 作者:行者123 更新时间:2023-11-29 11:11:08 30 4
gpt4 key购买 nike

我正在寻找一种在 PostgreSQL 中跳过行的方法。

我可以使用以下两种方法:

SELECT * FROM table WHERE id % 5 = 0

但是我必须获取连续的行才能正确跳过。例如,如果我获取行(带有 id)0,3,5, 它不会跳过 5 行中的 4 行,而是导致 (ids) 0 和 5。

或者跳过 SQL 之外:

$count = 0;
while($row = progres_fetch_row($result))
if ($count++ % 5 == 0)
// do something

从 SQL 数据库中获取每第 n 行的最快方法是什么?

最佳答案

如果你使用PostgreSQL,你可以使用row_number() :

SELECT t.*
FROM (
SELECT *, row_number() OVER(ORDER BY id ASC) AS row
FROM yourtable
) t
WHERE t.row % 5 = 0

关于sql - 跳过 PostgreSQL 中的每第 n 个结果行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19595809/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com