MySQL MIN() 関数
1. MySQL MIN() 関数とは
MIN() 関数は、選択したカラムの中で最も小さい値を返します。
この関数は、数値型、文字列型、および日付型のデータ型に対して使用することが可能です。
1.1 MIN() の構文
SELECT MIN(column_name)
FROM table_name
WHERE condition;2. デモ用データベース
以下は、Northwind サンプルデータベースの「Products(製品)」テーブルから抽出したデータです。
| ProductID | ProductName | SupplierID | CategoryID | Unit | UnitPrice |
|---|---|---|---|---|---|
| 1 | Chais | 1 | 1 | 10 boxes x 20 bags | 18.00 |
| 2 | Chang | 1 | 1 | 24 - 12 oz bottles | 19.00 |
| 3 | Aniseed Syrup | 1 | 2 | 12 - 550 ml bottles | 10.00 |
| 4 | Chef Anton's Cajun Seasoning | 2 | 2 | 48 - 6 oz jars | 22.00 |
| 5 | Chef Anton's Gumbo Mix | 2 | 2 | 36 boxes | 21.35 |
3. MIN() の使用例
以下のSQLは、「Products」テーブルの「Price(価格)」カラムにおける最も低い価格を返します。
3.1 実行例
独自のSQLサーバーで試してみましょう:
/* Productsテーブルから最も低い価格を取得し、
結果のカラム名をSmallestPriceとする */
SELECT MIN(Price) AS SmallestPrice
FROM Products; チップ: MIN() 関数を使用した場合、そのままでは返されるカラムに名前が付きません。結果を扱いやすくするために、AS キーワードを使用して、説明的な名前(エイリアス)を付けるのがベストプラクティスです。
4. 日付カラムでの MIN() の使用
以下のSQLは、「Employees(従業員)」テーブルの「BirthDate(生年月日)」カラムから、最も早い(つまり最も古い)生年月日を返します。
4.1 日付データの抽出例
/* 最も古い生年月日を
EarliestBirthdateという名前で取得 */
SELECT MIN(BirthDate) AS EarliestBirthdate
FROM Employees;