SQL 速習チュートリアル

SQL MAX() 関数

1. SQL MAX() 関数

MAX() 関数は、選択されたカラム内の最大値をリターンします。

MAX() 関数は、数値、ストリング(文字列)、および日付のデータタイプで使用可能です。

2. MAX() の使用例

以下のクエリは、"Products" テーブルの Price カラムから最も高い価格をリターンします。

2.1 例(自分専用の SQL Server を取得)

-- Price カラム内の最高価格をリターンする --
SELECT MAX(Price)
FROM Products;

3. MAX() のシンタックス

SELECT MAX(column_name)
FROM table_name
WHERE condition;

4. デモ用データベース

以下は、例題で使用する Products テーブルの抜粋です。

ProductIDProductNameSupplierIDCategoryIDUnitPrice
1Chais1110 boxes x 20 bags18.00
2Chang1124 - 12 oz bottles19.00
3Aniseed Syrup1212 - 550 ml bottles10.00
4Chef Anton's Cajun Seasoning2248 - 6 oz jars22.00
5Chef Anton's Gumbo Mix2236 boxes21.35

5. カラム名(エイリアス)の設定

MAX() を使用すると、リターンされるカラムには名前が付きません。AS キーワードを使用して、カラムに説明的な名前(エイリアス)を付与します。

5.1 例

-- 最高価格に 'HighestPrice' というエイリアスを付けて取得 --
SELECT MAX(Price) AS HighestPrice
FROM Products;

6. 日付カラムでの MAX() の使用

次の SQL は、Employees テーブルの BirthDate カラムから、最も新しい(遅い)誕生日をリターンします。

6.1 例

-- 最も新しい誕生日を 'LatestBirthdate' として取得 --
SELECT MAX(BirthDate) AS LatestBirthdate
FROM Employees;

7. GROUP BY と MAX() の併用

ここでは MAX() 関数と GROUP BY 句を併用して、Products テーブルのカテゴリ(CategoryID)ごとに最高価格をリターンします。

7.1 例

-- カテゴリIDごとにグループ化し、それぞれの最高価格を取得 --
SELECT MAX(Price) AS HighestPrice, CategoryID
FROM Products
GROUP BY CategoryID;