最大値のレコードを取得するSQLはこちらの記事を参照してください。
フィールドの最新の値、最大値の値を取得するSQLを紹介します。
テーブルのレコード内で、フィールドの値の最大値を取得したい場合があります。
この記事では、MAX関数を利用して、フィールドの値の最大値を取得するSQLを紹介します。
以下のテーブルを用意します。
| id | 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の最大値が取得できました。
| (列名なし) |
|---|
| 324850 |
classが"オフィス"のレコードのprice(価格)の最大値を求める場合は、次のSQLを実行します。
select MAX(price) from Products where class='オフィス'
実行結果は以下になります。classが"オフィス"のレコードでのpriceの最大値(id=10 の"エルゴノミクスデスク"のprice)が取得できました。
| (列名なし) |
|---|
| 88500 |
以下のテーブルを用意します。
| id | 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 |