SQL データベース列から 2 番目に大きい値を抽出する
データベース列内で 2 番目に大きい値を決定することは、データ分析で頻繁に必要となる要件です。 SQL は、MAX()
関数とサブクエリを使用した簡潔なソリューションを提供します。
SQL クエリ:
特定の列で 2 番目に大きい整数値を特定する最も効率的な SQL クエリは次のとおりです。
<code class="language-sql">SELECT MAX(col) FROM table WHERE col < (SELECT MAX(col) FROM table);</code>
動作説明:
このクエリは、サブクエリを巧みに使用して、最初に列の最大値を特定します。次に、外側のクエリは結果をフィルター処理し、列の値が最大値 (サブクエリで識別される) に等しい行を除外します。 外側のクエリの MAX()
関数は、残りの行から最大値を決定します。これは 2 番目に大きい値です。
例:
次の値を含む「price」列を持つ「products」という名前のテーブルを考えてみましょう。
価格 10 15 18 20 12
このテーブルに対してクエリを実行すると、次の結果が得られます。
18
これは、「製品」テーブルで 2 番目に高い価格を正確に表しています。
以上がSQL データベース列で 2 番目に大きい値を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。