SQL Server の複数の値の最大値を検索します
SQL Server の MAX 関数は、単一の列に対して動作し、その列のすべての行の最大値を返す集計関数です。ただし、場合によっては、複数の列の最大値を見つける必要があるかもしれません。
たとえば、次のクエリについて考えてみましょう:
<code class="language-sql">SELECT o.OrderId, MAX(o.NegotiatedPrice, o.SuggestedPrice) FROM Order o</code>
このクエリは、NegotiatedPrice と SuggestedPrice の 2 つの列の最大値を見つけようとします。ただし、MAX 関数はこの操作をサポートしていません。
望ましい結果を得るには、以下のコードに示すようにサブクエリを使用できます。
<code class="language-sql">SELECT o.OrderId, (SELECT MAX(Price) FROM (VALUES (o.NegotiatedPrice),(o.SuggestedPrice)) AS AllPrices(Price)) FROM Order o</code>
このサブクエリは、Price という名前の単一列を含む AllPrices という名前の派生テーブルを作成します。 Price 列には、NegotiatedPrice と SuggestedPrice の値が含まれます。次に、この派生テーブルで MAX 関数を使用して、各行の最大値を見つけます。
このメソッドは、SQL Server の複数の列の最大値を見つけるのに便利な方法です。また、多用途であり、最小値、平均値、合計値などの他の集計値を見つけるために使用することもできます。
以上がSQL Server の複数の列にわたる最大値を見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。