2016-03-22 72 views
2

我想选择SQL中的每第n行。我一直在寻找堆栈溢出,并根据我有限的SQL知识拼凑出一些可以使用的东西。我有一张有81,225行的桌子。我试图在SQLite中选择每第285行。选择SQLite3中的每第n行

我在用如下:

Select * 
    From Test A 
    Where ROWID > 0 AND ROWID <= 81225 
    AND ROWID % 285 = 285 % 285 

这个查询是给我285行(这是我所期望的),但它不给我预期的结果。有什么需要添加/更改此代码给我想要的结果?

谢谢

+0

只有当值是连续的,即,如果没有行被删除,才使用'rowid'。 –

回答

3

您用于模数的条件是错误的。代之以:

Select * 
From Test A 
Where ROWID > 0 AND ROWID <= 81225 
AND ROWID % 285 = 0