ホームページ > データベース > mysql チュートリアル > 単一の SQL 行内の複数の列にわたる最大値を見つけるにはどうすればよいですか?

単一の SQL 行内の複数の列にわたる最大値を見つけるにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-21 22:46:09
オリジナル
735 人が閲覧しました

How to Find the Maximum Value Across Multiple Columns in a Single SQL Row?

SQL で複数の列の最大値を検索します

SQL では、多くの場合、単一行内の複数の列の最大値を決定する必要があります。これは、特殊な機能と技術を使用することで実現できます。

一般的なアプローチは、指定された値のセットの最大値を計算する MAX() などの集計関数を使用することです。同じ行内の複数の列に MAX() を適用すると、各列の最大値を取得できます。

たとえば、次のデータ構造について考えてみましょう:

<code>TableName
---------------------------------------
| Number | Date1  | Date2  | Date3  | Cost  |
---------------------------------------
| 1      | 2023-01-01 | 2023-02-01 | 2023-03-01 | 100   |
| 2      | 2023-01-15 | 2023-02-15 | 2023-03-15 | 150   |
| 3      | 2023-02-05 | 2023-03-05 | 2023-04-05 | 200   |</code>
ログイン後にコピー

各行の最大日付とコストを返すには、次のクエリを使用できます:

<code class="language-sql">SELECT Number,
       GREATEST(Date1, Date2, Date3) AS Most_Recent_Date,
       MAX(Cost) AS Max_Cost
FROM TableName;</code>
ログイン後にコピー

このクエリは、GREATEST() 関数を使用して各行の日付列の最大値を計算し、MAX() 関数を使用してコスト列の最大値を計算します。 各行の最大値を計算するため、GROUP BY 句は必要ありません。

クエリ結果は次のとおりです:

<code>Number | Most_Recent_Date | Max_Cost
-----------------------------------------
1      | 2023-03-01      | 100
2      | 2023-03-15      | 150
3      | 2023-04-05      | 200</code>
ログイン後にコピー

この手法は、SQL の複数の列の最大値を抽出する便利な方法を提供します。これは、特定の列の最大値を見つける必要があるあらゆるデータ構造で機能します。 GREATEST() 関数はすべての SQL データベースでサポートされているわけではなく、一部のデータベースでは同じ機能を実現するために他の同等の関数または CASE ステートメントを使用する必要がある場合があることに注意してください。

以上が単一の SQL 行内の複数の列にわたる最大値を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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