在SQLite中选择语句识别行号

时间:2012-01-23 18:47:58

标签: sql ios sqlite

我想编写类似这样的SQLite语句:

SELECT * FROM Table WHERE RowNumber BETWEEN 1 AND 10;

但我没有这样的列RowNumber。我的桌子上有主键。但是我可以使用默认的行号吗?

此外,我正在搜索有关编写更复杂的SQLite语句的信息。因此,如果您在书签中有一些链接,请分享。

感谢。

3 个答案:

答案 0 :(得分:26)

您想使用LIMIT and OFFSET

SELECT * FROM Table LIMIT 10 OFFSET 0

也可以用以下简写语法

表示
SELECT * FROM Table LIMIT X,Y

其中X表示偏移,它是独占的,而Y表示数量,例如

SELECT * FROM Table LIMIT 50,50

将返回行51-100

答案 1 :(得分:4)

可以通过几个不同的名称访问表的自动创建的rowid。来自SQLite documentation

  

每个SQLite表的每一行都有一个64位有符号整数键,用于唯一标识其表中的行。这个整数通常称为“rowid”。可以使用一个与特殊情况无关的名称“rowid”,“oid”或“_rowid_”代替列名来访问rowid值。

答案 2 :(得分:-1)

SELECT * FROM Table WHERE ROWID BETWEEN 1 AND 10;