Sql 有没有一种方法可以从数据库返回最接近单个给定值的数据?
我正在创建一个数据库,其中将包含一系列产品的价格,我想测试一些查询,其中一个是“查找价格最接近100000英镑的产品”。我将如何编写此查询Sql 有没有一种方法可以从数据库返回最接近单个给定值的数据?,sql,Sql,我正在创建一个数据库,其中将包含一系列产品的价格,我想测试一些查询,其中一个是“查找价格最接近100000英镑的产品”。我将如何编写此查询 产品表名称为“Vehicles”,价格表名称为“price”一种方法是使用order by使用表达式: select t.* from t order by abs(price - 100000) fetch first 1 row only; fetch子句是将结果集限制为一行的标准SQL。一些数据库使用其他构造,例如选择顶部(1)和限制)。一种方法是使
产品表名称为“Vehicles”,价格表名称为“price”一种方法是使用
order by
使用表达式:
select t.*
from t
order by abs(price - 100000)
fetch first 1 row only;
fetch
子句是将结果集限制为一行的标准SQL。一些数据库使用其他构造,例如选择顶部(1)
和限制
)。一种方法是使用表达式使用排序依据
:
select t.*
from t
order by abs(price - 100000)
fetch first 1 row only;
fetch
子句是将结果集限制为一行的标准SQL。有些数据库使用其他结构,例如选择顶部(1)
和限制
)。如果使用SQL server,这应该满足您的要求:
SELECT TOP 1 *
FROM [myTable]
ORDER BY ABS( price - 100000 )
如果您使用的是SQL server,这应该满足您的要求:
SELECT TOP 1 *
FROM [myTable]
ORDER BY ABS( price - 100000 )
针对未指定dbms的问题的特定于产品的答案。至少告诉我们这是用于哪个dbms。公平地说,问题也并没有指定哪个dbms。未指定dbms的问题的已编辑thoughProduct特定答案。至少告诉我们这是用于哪个dbms。公平地说,问题也并没有指定哪个dbms。编辑思想如果有两种不同的产品具有相同的、最接近的价格,预期结果是什么?如果有两种不同的产品具有相同的、最接近的价格,预期结果是什么?