データベース テーブル内の最も近い数値の検索
当面のタスクは、指定された数値に最もよく一致するレコードを取得することですデータベースから。提供されている SQL 句は、複数の条件の完全一致に基づいてレコードを取得しますが、完全一致がない場合に最も近い一致を識別する機能がありません。
この課題に対処するには、次のアプローチを利用できます。
距離の計算
まず、目標値と目標値の間の絶対差を計算します。各データベースレコードの「エリア」フィールド。絶対値により距離が常に正であることが保証され、比較が容易になります。
結果の順序付け
次に、計算された値に基づいてレコードを昇順に並べます。距離。この配置により、距離が最小のレコード、または最も近い一致を持つレコードが結果セットの先頭に配置されます。
上位一致の取得
最後に、TOP を使用します。ターゲット値に最も近い一致を表す、距離が最小のレコードを取得する 1 つの句。
更新された SQLクエリ
上記のアプローチを組み込んだ更新された SQL クエリは次のとおりです。
SELECT TOP 1 * FROM [myTable] WHERE Name = 'Test' AND Size = 2 AND PType = 'p' ORDER BY ABS(Area - @input)
このクエリは、指定された入力値 @input に最も近い「面積」値を持つレコードを返します。 .
以上がSQL を使用してデータベース テーブル内で最も近い数値一致を見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。