データベース内の最も近い数値の検索
入力または一致する正確なレコードを取得するためにデータベース クエリが必要な状況を想像してください。 、完全に一致しない場合は、最も近い近似値となります。たとえば、特定の値 (2 など) に対応する「サイズ」フィールドと、さまざまな数値を含む「面積」フィールドを持つデータを所有しているとします。
次のクエリを考えてみましょう:
SELECT * FROM [myTable] WHERE Name = 'Test' AND Size = 2 AND PType = 'p' ORDER BY Area DESC
意図された結果は、クエリが入力に正確に一致するレコードを識別することです (「名前」フィールドは「テスト」、「サイズ」フィールドは 2、 「PType」フィールドの場合は「p」)、「Area」フィールドを降順で優先します。ただし、完全に一致するものが存在しない場合は、入力に最も近い「面積」値を持つレコードを取得しようとします。
これを実現するには、次の変更されたクエリを利用します:
SELECT TOP 1 * FROM [myTable] WHERE Name = 'Test' and Size = 2 and PType = 'p' ORDER BY ABS( Area - @input )
この改訂されたクエリには、「Area」フィールドと指定した入力の差の絶対値を計算する ABS() 関数が組み込まれています。 ORDER BY 句は、差の絶対値に基づいて結果を昇順に並べ、差が最も小さいレコード (つまり、入力に最も近い数値) が確実に取得されるようにします。
以上がデータベースクエリで最も近い数値を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。