jbr*_*ans 1 mysql sql database
我正在尝试在SQL中找到与给定值最接近的数字.我已经查询了多个结果:
SELECT *
FROM Cars
ORDER BY ABS(price - $price)
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用LIMIT 1限制表格,我有一个最接近给定值的数字.但我怎么能包括关系呢?例如,当有三辆或四辆同样价格的汽车时?具有相同价格的汽车数量是动态的,因此我无法指定某个LIMIT.
我也知道我可以使用SELECT TOP 1 WITH TIES,但我无法使用此查询,因为我的数据库驱动程序不允许它.有没有人对如何做到这一点有另一个想法?
例:
当我想要最接近3000的汽车时,查询应返回:
但是在查询中没有使用静态LIMIT,因为每次具有相同价格的汽车数量可能不同.谢谢
如果您的驱动程序支持嵌套查询:
SELECT *
FROM CARS
WHERE ABS(price - $price) = ( SELECT MIN(ABS(price - $price)) FROM CARS )
Run Code Online (Sandbox Code Playgroud)