フィールドの最大値を取得する - MAX関数の利用 - SQL
フィールドの最新の値、最大値の値を取得するSQLを紹介します。
概要
テーブルのレコード内で、フィールドの値の最大値を取得したい場合があります。
この記事では、MAX関数を利用して、フィールドの値の最大値を取得するSQLを紹介します。
メモ
最大値のレコードを取得するSQLは
こちらの記事を参照してください。
例1:値の最大値を求める例
以下のテーブルを用意します。
Productsid | model | name | class | category | price |
1 | C-XM01 | モーダンチェア | ホーム | チェア | 56000 |
2 | X-XD05 | ラージデスク | オフィス | テーブル | 87000 |
3 | A-DA40 | ラウンドダイニングチェア | ホーム | チェア | 28000 |
4 | O-XX100 | ナチュラルオフィス | オフィス | チェア | 13800 |
5 | R-D400 | ラウンドダイニングテーブル | ホーム | テーブル | 128000 |
6 | R7000 | ウッドキャビネット | オフィス | その他 | 32000 |
7 | B-200 | リネンベッド | ホーム | ベッド | 184500 |
8 | B-250 | ホワイトダブルベッド | ホーム | ベッド | 324850 |
9 | W-80 | ワーキングチェア | オフィス | チェア | 45000 |
10 | EG-10X | エルゴノミクスデスク | オフィス | テーブル | 88500 |
11 | NC-208 | ナチュラルウッドチェア | ホーム | チェア | 128000 |
最大値を求める
price(価格)の最大値を求めます。
次のSQLを実行します。
select MAX(price) from Products
実行結果は以下になります。priceの最大値が取得できました。
条件内での最大値を求める
classが"オフィス"のレコードのprice(価格)の最大値を求める場合は、次のSQLを実行します。
select MAX(price) from Products where class='オフィス'
実行結果は以下になります。classが"オフィス"のレコードでのpriceの最大値(id=10 の"エルゴノミクスデスク"のprice)が取得できました。
例2:日付の最大値を求める例
以下のテーブルを用意します。
ExamScoreid | date | name | category | score |
1 | 2022-04-16 | ぺんた | 国語 | 88 |
2 | 2022-04-16 | ぺんみ | 国語 | 90 |
3 | 2022-04-17 | ぺんた | 算数 | 75 |
4 | 2022-04-17 | ぺんみ | 算数 | 94 |
5 | 2022-08-13 | ぺんた | 国語 | 76 |
6 | 2022-08-13 | ぺんみ | 国語 | 85 |
7 | 2022-08-14 | ぺんた | 算数 | 64 |
8 | 2022-08-14 | ぺんみ | 算数 | 92 |
9 | 2022-12-10 | ぺんた | 国語 | 85 |
10 | 2022-12-10 | ぺんみ | 国語 | 78 |
11 | 2022-12-10 | ぺんた | 算数 | 94 |
12 | 2022-12-11 | ぺんみ | 算数 | 82 |
最新の日付の値を取得します。
最新日を求める
date(日付)の最大値を求めます。
次のSQLを実行します。
select MAX(date) from ExamScore
実行結果は以下になります。dateの最大値が取得できました。
(列名なし) |
2022-12-11 00:00:00.000 |
条件内での最新日を求める
nameが"ぺんた"のレコードに絞って、最新日を求めます。次のSQLを実行します。
select MAX(date) from ExamScore where name='ぺんた'
実行結果は以下になります。name='ぺんた' でのdateの最大値が取得できました。
(列名なし) |
2022-12-10 00:00:00.000 |
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。