簡體   English   中英

有沒有一種方法可以從數據庫中返回最接近單個給定值的數據?

[英]Is there a way of returning data which is the closest to a single given value from a database?

我正在創建一個數據庫,其中包含一系列產品價格,我想測試一些查詢,其中之一是“查找價格最接近100,000英鎊的產品”。 我將如何編寫此查詢?

產品表名稱為“車輛”,價格表名稱為“價格”

一種方法是order by使用表達式來使用order by

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

fetch子句是標准SQL,用於將結果集限制為一行。 一些數據庫使用其他構造,例如select top (1)limit )。

如果您使用的是SQL Server,這應該可以滿足您的需求:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM