我在数据库中有一个表,其结构如下:
Id | Name | Money
--------------------------
1 | Joe | 34.50
2 | Jane | 12.55
3 | Kate | 55.21
4 | George | 9.54
5 | Hilary | 45.21
6 | Jacob | 32.00
7 | Ginny | 21.00
现在我想选择一个指定的记录(知道它是Id
)和其他3个最接近它的记录(按Money
排序)。
所以它就像:
SELECT * FROM test ORDER BY money LIMIT 4;
最接近(Money
)与所选行的资金结果。
答案 0 :(得分:4)
按绝对差异排序:
SELECT * FROM test
ORDER BY ABS(Money - (
SELECT Money FROM test WHERE Id = 2
))
LIMIT 4;
答案 1 :(得分:0)
SELECT * FROM test where money> =按订单金额限制4; *
例如:从测试中选择*,其中金钱> = 21.00,按金额限制4;
这将是一个更简单的解决方案。