从SQLite数据库中选择行,其中条件满足具有最小ID的限制返回行

从SQLite数据库中选择行,其中条件满足具有最小ID的限制返回行,sqlite,Sqlite,我有一个数据库,它有一个主键INTEGER AUTOINCREMENT列,名为id,还有一个条件标志列,称它为condition,它是一个整数。 我希望能够选择给定数量的行N,其中conditon=1。这很容易查询(例如,如果N=10): 但是,我希望能够保证,我收到的行也是从condition=1的全套行中具有最小值id的行。例如,如果id在1到20之间的行具有condition=1,我希望我的查询能够保证返回id为1-10的行 我的理解是,orderby是在查询之后完成的,因此我认为包含or

我有一个数据库,它有一个主键INTEGER AUTOINCREMENT列,名为
id
,还有一个条件标志列,称它为
condition
,它是一个整数。 我希望能够选择给定数量的行
N
,其中
conditon=1
。这很容易查询(例如,如果
N=10
):

但是,我希望能够保证,我收到的行也是从
condition=1
的全套行中具有最小值
id
的行。例如,如果id在1到20之间的行具有
condition=1
,我希望我的查询能够保证返回id为1-10的行

我的理解是,
orderby
是在查询之后完成的,因此我认为包含
orderby id
不会保证这一点。有没有办法保证这一点?

你错了:

SELECT data FROM table_name WHERE condition=1 ORDER BY id LIMIT 10;
这就是你需要的
它将对您需要的行进行排序,然后应用限制

SQLite限制和订单依据条款
我们通常在ORDERBY子句中使用LIMIT子句,因为 感兴趣的是按指定顺序获取行数,而不是按 未指明的顺序

ORDER BY子句出现在SELECT中LIMIT子句之前 声明

SQLite在获取结果集的数量之前对结果集进行排序 LIMIT子句中指定的行


你能指出文件中证实这一说法的地方吗?
SELECT data FROM table_name WHERE condition=1 ORDER BY id LIMIT 10;