ホームページ > データベース > mysql チュートリアル > データベースクエリで最も近い数値を見つけるにはどうすればよいですか?

データベースクエリで最も近い数値を見つけるにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-02 18:10:37
オリジナル
642 人が閲覧しました

How to Find the Nearest Numerical Value in a Database Query?

データベース内の最も近い数値の検索

入力または一致する正確なレコードを取得するためにデータベース クエリが必要な状況を想像してください。 、完全に一致しない場合は、最も近い近似値となります。たとえば、特定の値 (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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート