MySQL 速習チュートリアル

MySQL MAX() 関数

1. MySQL MAX() 関数とは

MAX() 関数は、選択したカラムの中で最も大きい値を返します。

この関数は、数値型だけでなく、文字列型や日付型のデータ型に対しても使用することが可能です。

1.1 MAX() の構文

SELECT MAX(column_name)
FROM table_name
WHERE condition;

2. デモ用データベース

以下は、Northwind サンプルデータベースの「Products(製品)」テーブルから抽出したデータの一部です。

ProductIDProductNameSupplierIDCategoryIDUnitUnitPrice
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

3. MAX() の使用例

以下のSQLは、「Products」テーブルの「Price(価格)」カラムにおける最も高い価格を返します。

3.1 実行例

独自のSQLサーバーで試してみましょう:

/* Productsテーブルから最も高い価格を取得し、
   結果のカラム名をLargestPriceとする */
SELECT MAX(Price) AS LargestPrice
FROM Products;

       テックメモ: MAX() 関数を使用する際、返される結果のカラムにはデフォルトの名前が付きません。実務では、上記の例のように AS キーワードを使用して、LargestPrice のような分かりやすいエイリアス(別名)を付けるのが一般的です。

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

日付型に対して MAX()使用すると、「最も新しい(最新の)」日付を取得できます。

以下のSQLは、「Employees(従業員)」テーブルの「BirthDate(生年月日)」カラムから、最も遅い(つまり最も若い人の)生年月日を返します。

4.1 日付データの抽出例

/* 最も新しい(最新の)生年月日を
   LatestBirthdateという名前で取得 */
SELECT MAX(BirthDate) AS LatestBirthdate
FROM Employees;