我想编写类似这样的SQLite语句:
SELECT * FROM Table WHERE RowNumber BETWEEN 1 AND 10;
但我没有这样的列RowNumber。我的桌子上有主键。但是我可以使用默认的行号吗?
此外,我正在搜索有关编写更复杂的SQLite语句的信息。因此,如果您在书签中有一些链接,请分享。
感谢。
答案 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;