SQLite - 获得最接近的值

时间:2009-04-11 08:29:38

标签: sqlite

我有SQLite数据库,我在其中有某些类型为“double”的列。 我想得到一个在此列值中最接近指定值的行。

例如,在我的表中我有:

id: 1; value: 47
id: 2; value: 56
id: 3; value: 51

我希望得到一个值最接近50的行。所以我想收到id:3(value = 51)。

我如何实现这一目标?

感谢。

1 个答案:

答案 0 :(得分:15)

这应该有效:

SELECT * FROM table
ORDER BY ABS(? - value)
LIMIT 1

其中?代表您要比较的值。