SQL道場 集計関数 MIN関数
SQLで最小値を取得するMIN関数について記載しています。
対応データベース:SQLServer MySQL Oracle PostgreSQL DB2 SQLite Access ANSI
MIN関数の文法
SELECT MIN(列名) FROM テーブル
SELECT MIN (column name) FROM table
引数 Arguments | 列名 Column name | 数値型、日付型、文字列型の列を指定 Specify numeric, date, or string columns |
返値 return value | [数値型] 最小値 [Numeric] Minimum |
MIN関数は引数に指定された列のグループ内の最小値を取得します。GROUP BY句と併せて指定した場合は、グループごとに最小値を得ることができます。
実行例
社員テーブル(employee table)
社員名(EMP_NAME) | 年齢(EMP_AGE) | 性別(EMP_SEX) | 時給(EMP_SALARY) |
---|---|---|---|
山田太郎 | 35 | 男 | 1,000 |
鈴木花子 | 20 | 女 | 1,500 |
竹下次郎 | 30 | 男 | 2,500 |
佐藤梅子 | 40 | 女 | 800 |
ジュン鎌田 | 23 | 男 | 800 |
田中誠二 | 20 | 男 | 2,500 |
MySQLの実行例
/* MySQLで時給の最小値を求めるサンプル */
SELECT MIN(EMP_SALARY) FROM testdb.MST_EMPLOYEE;
/* MySQL年齢ごとに時給の最小値を求めるサンプル */
SELECT EMP_AGE,MIN(EMP_SALARY) FROM testdb.MST_EMPLOYEE GROUP BY EMP_AGE;
SQLServerの実行例
/* SQLServerで時給の最小値を求めるサンプル */
SELECT MIN(EMP_SALARY) FROM [testdb].[dbo].[MST_EMPLOYEE];
/* SQLServer年齢ごとに時給の最小値を求めるサンプル */
SELECT EMP_AGE,MIN(EMP_SALARY) FROM [testdb].[dbo].[MST_EMPLOYEE] GROUP BY EMP_AGE;