假设我有一个包含两列的表,如下所示
Size | Time |
------------------
215 | 24868 |
------------------
105 | 25668 |
------------------
515 | 64848 |
------------------
321 | 44808 |
我需要选择 Size
最接近传递值的 Time
,例如 X
。
来自 this answer我有以下查询 (X= 800
)
SELECT * FROM my_table ORDER BY ABS(800-Size) LIMIT 1
此查询为我提供了大小为 515 的行,但我需要限制 X
与所选值之间的差异。
例如:如果我传递 800,那么它应该仅在大小介于 750 到 850 之间时返回,否则查询不应返回任何内容。
最佳答案
我是这样操作的
SELECT * FROM my_table where Size >= (800-val) and Size <= (800+val) ORDER BY ABS(800-Size) LIMIT 1
关于android - SQLite : Select row with closest value but limit the difference between passed value and closest value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37605841/