我想在数据库中选择一个以 YYYYMMDD 形式存储为 INT 类型的日期。现在,在这里我有一个场景,用户输入他选择的日期,我只想提取小于或等于用户输入的值的日期。
我从以下 sql 语句开始:
"SELECT date FROM transactionRegister WHERE date<='"+dateInput+"'";
但这会加载语句满足的所有结果,这只会使我的应用程序效率低下。
我只希望将第一个结果加载到游标中。
如果您想要 1 个结果,请通过LIMIT 1
. 这保证了一个结果(可能不是正确的结果)。
要解决这个问题,请告诉数据库如何为“最近的优先”排序结果ORDER BY date DESC LIMIT 1
。
只需使用 sql 语句的“限制”结尾。你的 sql 语句必须是这样的:
"SELECT date FROM transactionRegister WHERE date<='"+dateInput+"' ORDER BY date DESC Limit 1";
限制仅显示您指定的数字。例如 Limit 20 仅返回 20 行语句。