SQLのMAXとは?最大値を取得するMAXの使い方
SQLで最大値を取得する場合はMAX関数を使用します。本記事では、MAX関数を使って最大値を取得する方法について解説します。また、以下のユーザー(user)テーブルを使用します。
ID | name | age | group_id |
1 | User1 | 30 | 101 |
2 | User2 | 25 | 101 |
3 | User3 | 27 | 102 |
4 | User4 | 23 | 102 |
5 | User5 | 35 | 103 |
1.MAX関数の基本的な使い方
それではまずMAX関数の基本的な使い方について見ていきましょう。
基本構文については以下の通りです。
SELECT MAX(カラム名) FROM テーブル名;
上記の通り記載することで、指定したテーブルの中から、指定したカラムの最大値を取得することが出来ます。
例として、ユーザー(user)テーブルから年齢(age)の最大値を取得する場合は以下の通りとなります。
例)ユーザー(user)テーブルから年齢(age)の最大値を取得する場合
SELECT MAX(age) FROM user;
▽実行結果
MAX(age) |
35 |
このようにして、指定したカラムの最大値を取得します。以上がMAX関数の基本的な使い方となります。それでは次にMAX関数の応用的な使い方について見ていきましょう。
2.MAX関数の応用的な使い方
それではMAX関数の応用的な使い方についてです。
2-1.グループ化して最大値を取得する
ではまずグループ化して最大値を取得する方法について見ていきます。グループ化して、グループごとの最大値を取得するにはGROUP BY句を用います。例として、ユーザー(user)テーブルからグループID(group_id)ごとに最年長である(年齢(age)の値が最も大きい)レコードを取得する場合は以下の通りとなります。
例)ユーザー(user)テーブルからグループID(group_id)ごとに最年長である(年齢(age)の値が最も大きい)レコードを取得する場合
SELECT group_id, MAX(age) FROM user GROUP BY group_id;
▽実行結果
group id | MAX(age) |
101 | 30 |
102 | 27 |
103 | 35 |
このようにして、グループごとの最大値を取得します。それでは次に最大値のレコードを取得する方法について見ていきます。
2-2.最大値のレコードを取得する
特定のカラムの値が最大値となるレコードを取得する場合は少し工夫が必要です。例として、ユーザー(user)テーブルから年齢(age)が最大値となるレコードを取得する場合は以下の通りとなります。
例)ユーザー(user)テーブルから年齢(age)が最大値となるレコードを取得する場合
SELECT * FROM user WHERE age = (SELECT MAX(age) FROM user);
▽実行結果
ID | name | age | grouo id |
5 | User5 | 35 | 103 |
このようにして、特定のカラムの値が最大値となるレコードを取得します。以上がMAX関数の応用的な使い方となります。
3.まとめ
以上、SQLでMAX関数を用いて最大値を取得する方法について解説してきました。最大値となるデータを取得する場合は是非参考にしてみてください。
コメント