フィールドの最大値を取得する - MAX関数の利用 - SQL

フィールドの最新の値、最大値の値を取得するSQLを紹介します。

概要

テーブルのレコード内で、フィールドの値の最大値を取得したい場合があります。 この記事では、MAX関数を利用して、フィールドの値の最大値を取得するSQLを紹介します。
メモ
最大値のレコードを取得するSQLはこちらの記事を参照してください。

例1:値の最大値を求める例

以下のテーブルを用意します。
Products
idmodelnameclasscategoryprice
1C-XM01モーダンチェアホームチェア56000
2X-XD05ラージデスクオフィステーブル87000
3A-DA40ラウンドダイニングチェアホームチェア28000
4O-XX100ナチュラルオフィスオフィスチェア13800
5R-D400ラウンドダイニングテーブルホームテーブル128000
6R7000ウッドキャビネットオフィスその他32000
7B-200リネンベッドホームベッド184500
8B-250ホワイトダブルベッドホームベッド324850
9W-80ワーキングチェアオフィスチェア45000
10EG-10Xエルゴノミクスデスクオフィステーブル88500
11NC-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

例2:日付の最大値を求める例

以下のテーブルを用意します。
ExamScore
iddatenamecategoryscore
12022-04-16ぺんた国語88
22022-04-16ぺんみ国語90
32022-04-17ぺんた算数75
42022-04-17ぺんみ算数94
52022-08-13ぺんた国語76
62022-08-13ぺんみ国語85
72022-08-14ぺんた算数64
82022-08-14ぺんみ算数92
92022-12-10ぺんた国語85
102022-12-10ぺんみ国語78
112022-12-10ぺんた算数94
122022-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やデータベースの記事なども担当。
掲載日: 2023-08-29
iPentec all rights reserverd.