能否在SQLite中实现基于另一查询结果的查询限制?
SQLite3实现基于其他查询结果限制行数的方案
完全可行,SQLite3支持在LIMIT子句中使用返回单个标量值的子查询,以此实现基于另一个查询结果来限制当前查询的行数。
举个实际例子:
假设你需要根据config表中max_results字段的值,来限制user_data表的查询行数,可以这么写:
SELECT * FROM user_data LIMIT (SELECT max_results FROM config WHERE id = 1);
需要注意的是,作为LIMIT参数的子查询必须仅返回单个值,如果子查询返回多行或多列,SQLite会抛出错误。如果你的业务逻辑需要更复杂的条件判断,只要确保子查询最终输出单一数值即可。
内容的提问来源于stack exchange,提问作者Maz
相关产品推荐
相关产品推荐

