有没有一种方法可以从数据库中返回最接近单个给定值的数据?

时间:2019-04-23 14:25:41

标签: sql

我正在创建一个数据库,其中包含一系列产品价格,我想测试一些查询,其中之一是“查找价格最接近100,000英镑的产品”。我将如何编写此查询?

产品表名称为“车辆”,价格表名称为“价格”

2 个答案:

答案 0 :(得分:2)

一种方法是通过表达式使用order by

select t.*
from t
order by abs(price - 100000)
fetch first 1 row only;

fetch子句是标准SQL,用于将结果集限制为一行。某些数据库使用其他构造,例如select top (1)limit)。

答案 1 :(得分:0)

如果您使用的是SQL Server,这应该可以满足您的需求:

    SELECT TOP 1 * 
    FROM [myTable] 
    ORDER BY ABS( price - 100000 )