在資料庫表中尋找最接近的數值
目前的任務是擷取與指定數值最匹配的記錄來自資料庫。提供的 SQL 語句根據多個條件的精確匹配來檢索記錄,但是當不存在精確匹配時,它缺乏識別最接近匹配的能力。
為了解決這個挑戰,我們可以利用以下方法:
計算距離
我們先計算目標值與「面積」欄位之間的絕對差在每個資料庫記錄中。絕對值確保距離始終為正,以便於比較。
對結果進行排序
接下來,我們根據計算結果按升序對記錄進行排序距離。這種安排將距離最小或最接近匹配的記錄放在結果集的開頭。
檢索頂部匹配
最後,我們使用 TOP 1 個子句檢索距離最小的記錄,表示與目標值最接近的匹配。
更新了SQL查詢
這是合併上述方法的更新後的SQL 查詢:
SELECT TOP 1 * FROM [myTable] WHERE Name = 'Test' AND Size = 2 AND PType = 'p' ORDER BY ABS(Area - @input)
此查詢傳回「Area」值最接近指定輸入值@input 的記錄.
以上是如何使用 SQL 在資料庫表中尋找最接近的數字匹配?的詳細內容。更多資訊請關注PHP中文網其他相關文章!