SQL MIN() 関数
1. SQL MIN() 関数
MIN() 関数は、選択されたカラム内の最小値を返します。
MIN() 関数は、数値、ストリング(文字列)、および日付のデータタイプで使用可能です。
2. MIN() の使用例
以下のクエリは、"Products" テーブルの Price カラムから最も低い価格を返します。
2.1 例(自分専用の SQL Server を取得)
-- Price カラムの最小値をリターンする --
SELECT MIN(Price)
FROM Products;3. MIN() のシンタックス
SELECT MIN(カラム名)
FROM テーブル名
WHERE 条件;4. デモ用データベース
以下は、例題で使用する Products テーブルの抜粋です。
| ProductID | ProductName | SupplierID | CategoryID | Unit | Price |
|---|---|---|---|---|---|
| 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 |
5. カラム名(エイリアス)の設定
MIN() を使用すると、返されるカラムには名前がつきません。
AS キーワードを使用して、カラムに説明的な名前(エイリアス)を付けます。
5.1 例
-- 最小価格に 'SmallestPrice' というエイリアスを付けて取得 --
SELECT MIN(Price) AS SmallestPrice
FROM Products;6. 日付カラムでの MIN() の使用
次の SQL は、Employees テーブルの BirthDate カラムから、最も古い(早い)誕生日を返します。
6.1 例
-- 最も早い誕生日を 'EarliestBirthdate' として取得 --
SELECT MIN(BirthDate) AS EarliestBirthdate
FROM Employees;7. GROUP BY と MIN() の併用
ここでは MIN() 関数と GROUP BY 句を併用して、Products テーブルのカテゴリ(CategoryID)ごとに最小価格を返します。
7.1 例
-- カテゴリIDごとにグループ化し、それぞれの最小価格を取得 --
SELECT MIN(Price) AS SmallestPrice, CategoryID
FROM Products
GROUP BY CategoryID;