我正在寻找一种在PostgreSQL中跳过行的方法.
我可以通过以下两种方式使用:
SELECT * FROM table WHERE id % 5 = 0
Run Code Online (Sandbox Code Playgroud)
但是,我必须获取顺序行才能正确跳过.例如,如果我获取行(带有ids)0,3,5,它将不会跳过5行中的4行,而是导致(ids)0和5.
或跳过SQL之外:
$count = 0;
while($row = progres_fetch_row($result))
if ($count++ % 5 == 0)
// do something
Run Code Online (Sandbox Code Playgroud)
从SQL数据库获取每个第n行的最快方法是什么?
Gui*_*sel 25
如果您使用PostgreSQL,您可以使用row_number():
SELECT t.*
FROM (
SELECT *, row_number() OVER(ORDER BY id ASC) AS row
FROM yourtable
) t
WHERE t.row % 5 = 0
Run Code Online (Sandbox Code Playgroud)