【SQL】MAXを用いて最大値を取得する方法

【SQL】MAXを用いて最大値を取得する方法

山下 雅也

山下 雅也

開発エンジニア/エンジニア歴2年7ヶ月

SQLで最大値を取得する場合はMAX関数を使用します。本記事では、MAX関数を使って最大値を取得する方法について解説します。また、以下のユーザー(user)テーブルを使用します。

IDnameagegroup_id
1User130101
2User225101
3User327102
4User423102
5User535103

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)テーブルからグループIDgroup_id)ごとに最年長である(年齢(age)の値が最も大きい)レコードを取得する場合は以下の通りとなります。

例)ユーザー(user)テーブルからグループIDgroup_id)ごとに最年長である(年齢(age)の値が最も大きい)レコードを取得する場合

SELECT group_id, MAX(age) FROM user GROUP BY group_id;

▽実行結果

group idMAX(age)
10130
10227
10335

このようにして、グループごとの最大値を取得します。それでは次に最大値のレコードを取得する方法について見ていきます。

2-2.最大値のレコードを取得する

特定のカラムの値が最大値となるレコードを取得する場合は少し工夫が必要です。例として、ユーザー(user)テーブルから年齢(age)が最大値となるレコードを取得する場合は以下の通りとなります。

例)ユーザー(user)テーブルから年齢(age)が最大値となるレコードを取得する場合

SELECT * FROM user WHERE age = (SELECT MAX(age) FROM user);

▽実行結果

IDnameagegrouo id
5User535103

このようにして、特定のカラムの値が最大値となるレコードを取得します。以上がMAX関数の応用的な使い方となります。


3.まとめ

以上、SQLMAX関数を用いて最大値を取得する方法について解説してきました。最大値となるデータを取得する場合は是非参考にしてみてください。

私たちは、全てのエンジニアに市場価値を高め自身の望む理想のキャリアを歩んでいただきたいと考えています。もし、今あなたが転職を検討しているのであればこちらの記事をご一読ください。理想のキャリアを実現するためのヒントが見つかるはずです。

『技術力』と『人間力』を高め市場価値の高いエンジニアを目指しませんか?

私たちは「技術力」だけでなく「人間力」の向上をもって遙かに高い水準の成果を出し、関わる全ての人々に感動を与え続ける集団でありたいと考えています。

高い水準で仕事を進めていただくためにも、弊社では次のような環境を用意しています。

  • 定年までIT業界で働くためのスキル(技術力、人間力)が身につく支援
  • 「給与が上がらない」を解消する6ヶ月に1度の明確な人事評価制度
  • 平均残業時間17時間!毎週の稼動確認を徹底しているから実現できる働きやすい環境

現在、株式会社ボールドでは「キャリア採用」のエントリーを受付中です。

まずは以下のボタンより弊社の紹介をご覧いただき、あなたの望むキャリアビジョンをエントリーフォームより詳しくお聞かせください。

コメント

公式アカウントLINE限定!ボールドの内定確率が分かる無料診断実施中
公式アカウントLINE限定!
ボールドの内定確率が分かる無料診断実施中