我正在尝试使用ORDER BY AND并从限制中选择SQLite DB中的记录。一次我期望有1000条记录。表格中大约有40万行。一旦记录数达到30 K,它将开始跳过记录。记录ID从1到40万是连续的。到达[LIMIT 29000,1000]时,记录ID为54001。
SQLite版本3.13.0 操作系统:Fedora版本24(二十四)x86_64
SELECT tab1.FID, tab1.NAME, tab2.NAME as TNAME, tab1.SIZE
FROM tab1
INNER JOIN tab2 ON tab2.DID = tab1.DID
WHERE (tab1.STATUS IN (0, 2, 4, 10) AND tab2.NAME LIKE "'/4L/%'")
ORDER BY tab1.FID ASC
LIMIT 1000 OFFSET 29000
应该给出29001的结果,但是给出54001的记录。
答案 0 :(得分:0)
只是一种推测,但也许您应该首先在子查询中进行限制,然后再在子查询中再次对状态和名称进行限制,例如:
Col Val
ColumnA Value A
ColumnA Value A2
ColumnB Value B
ColumnB Value B2