MariaDBでは、MIN()
は、指定された式の最小値を返す集計関数です。
構文
構文は次のようになります:
MIN([DISTINCT] expr)
サンプルデータ
次のデータを含むテーブルがあるとします。
SELECT
VendorId,
ProductName,
ProductPrice
FROM Products;
結果:
+----------+---------------------------------+--------------+ | VendorId | ProductName | ProductPrice | +----------+---------------------------------+--------------+ | 1001 | Left handed screwdriver | 25.99 | | 1001 | Right handed screwdriver | 25.99 | | 1001 | Long Weight (blue) | 14.75 | | 1001 | Long Weight (green) | 11.99 | | 1002 | Sledge Hammer | 33.49 | | 1003 | Chainsaw | 245.00 | | 1003 | Straw Dog Box | 55.99 | | 1004 | Bottomless Coffee Mugs (4 Pack) | 9.99 | +----------+---------------------------------+--------------+
例
次のクエリを使用して、そのテーブルから最低価格を取得できます。
SELECT MIN(ProductPrice)
FROM Products;
結果:
9.99
この場合、価格情報はProductPrice
に保存されます 列なので、それを引数としてMIN()
に渡します。 関数は、結果を計算して返します。
フィルタリングされた結果
MIN()
関数は、クエリによって返された行を操作します。したがって、結果をフィルタリングすると、MIN()
の出力 それを反映します。
SELECT MIN(ProductPrice)
FROM Products
WHERE VendorId = 1001;
結果:
11.99
この場合、11.99は、指定されたベンダーが提供するすべての製品の最低価格です。
日付/時刻データ
MIN()
を使用できます 日付/時刻の値。
次の表があるとします。
SELECT PetName, DOB
FROM Pets;
結果:
+---------+------------+ | PetName | DOB | +---------+------------+ | Fluffy | 2020-11-20 | | Fetch | 2019-08-16 | | Scratch | 2018-10-01 | | Wag | 2020-03-15 | | Tweet | 2020-11-28 | | Fluffy | 2020-09-17 | | Bark | NULL | | Meow | NULL | +---------+------------+
MIN()
を使用できます 最小生年月日を見つけるには(DOB
。
SELECT MIN(DOB)
FROM Pets;
結果:
2018-10-01
これは、最年長のペットの生年月日です。
NULL
値
MIN()
関数はNULL
を無視します 値。上記のサンプルテーブルでは、最後の2行にNULL
が含まれています DOB
の値 列ですが、MIN()
では無視されました 例。
キャラクターデータ
文字データ列で使用する場合、MIN()
照合シーケンスで最も低い値を見つけます。
例:
SELECT MIN(ProductName)
FROM Products;
結果:
Bottomless Coffee Mugs (4 Pack)
DISTINCT
キーワード
DISTINCT
キーワードはMIN()
で使用できます 関数ですが、これはDISTINCT
を省略した場合と同じ結果になります 。 DISTINCT
を許可する 関数により、MariaDBはISOSQL標準に準拠できます。
したがって、これを行うことができます:
SELECT MIN(DISTINCT ProductPrice)
FROM Products;
結果:
9.99
ただし、結果には影響しません。
DISTINCT
キーワードは、他のコンテキスト(COUNT()
など)で使用すると非常に便利です。 関数)ですが、MIN()
と一緒に使用しても意味がありません 。 DISTINCT
キーワードは重複を削除しますが、MIN()
の場合 MIN()
なので、違いはありません。 同じ最小値を共有する行の数に関係なく、同じ結果を返します。
ウィンドウ関数
MIN()
関数はOVER
と組み合わせて使用できます ウィンドウ関数を作成する句。
SQL MIN()
を参照してください 例として初心者向け。