當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


MySQL MIN()用法及代碼示例


MySQL 中的 MIN() 函數用於返回表中一組值中的最小值。它是一個聚合函數,當我們需要找到最小的數字、選擇最便宜的產品等時很有用。

用法

以下是 MySQL 中 MIN() 函數的基本語法:

SELECT MIN ( DISTINCT aggregate_expression)
FROM table_name(s)
[WHERE conditions];

參數說明

該函數使用以下參數:

aggregate_expression:它是必需的表達式。它指定將從中返回最小值的列或表達式名稱。

Table_name(s):它指定我們要從中檢索記錄的表。 FROM 子句中必須至少列出一個表。

WHERE 條件:可選。它指定要選擇的記錄必須滿足的條件。

DISTINCT:它允許我們返回表達式中不同值的最小值。但是,它不會影響 MIN() 函數,並且不使用此關鍵字也會產生相同的結果。

MySQL MIN() 函數示例

借助各種示例,讓我們了解 MIN 函數在 MySQL 中的工作原理。考慮我們的數據庫有一個名為 "employees" 的表,其中包含以下數據。

MySQL MIN() Function

1. 基本示例

執行以下查詢,使用 MIN 函數查找表中可用員工的最低收入:

mysql> SELECT MIN(income) AS Minimum_Income FROM employees;

輸出

上麵的查詢在所有行中產生最小值的結果。執行後,我們將得到如下輸出:

MySQL MIN() Function

2. 帶有 WHERE 子句的 MySQL MIN() 函數

WHERE 子句允許我們從所選記錄中過濾結果。以下語句從employee 表中找出所有行中的最低收入,WHERE 子句指定所有那些emp_age 列大於或等於32 且小於或等於40 的行。

mysql> SELECT MIN(income) AS Minimum_Income 
FROM employees 
WHERE emp_age >= 32 AND emp_age <= 40;

輸出

上麵的語句將得到如下輸出:

MySQL MIN() Function

3. MySQL MIN() 函數與 GROUP BY 子句

GROUP BY 子句允許我們從多行收集數據並基於一列或多列對其進行分組。例如,以下語句使用帶有 GROUP BY 子句的 MIN() 函數來查找每個 emp_age 組的員工表中所有行中的最低收入。

mysql> SELECT emp_age, MIN(income) AS Minimum_Income 
FROM employees 
GROUP BY emp_age;

輸出

執行成功後,我們可以看到每個員工的收入按年齡分組返回:

MySQL MIN() Function

4. 帶有 HAVING 子句的 MySQL MIN() 函數

HAVING 子句總是與 GROUP BY 子句一起使用來過濾表中的記錄。例如,下麵的語句返回所有員工的最低收入,根據他們的城市對他們進行分組,並返回 MIN(income)>150000 的結果。

mysql> SELECT city, MIN(income) AS Minimum_Income 
FROM employees 
GROUP BY city
HAVING MIN(income) > 150000;

輸出

該語句將返回如下輸出:

MySQL MIN() Function

5. 帶有 DISTINCT 子句的 MySQL MIN() 函數

MySQL 使用 DISTINCT 關鍵字從列名中刪除重複的行。我們還可以將此子句與 MIN() 函數一起使用,以返回表中存在的唯一記錄數的最小收入值。

執行以下查詢,刪除員工表的收入列中的重複記錄,按城市分組,然後返回最小值:

mysql> SELECT emp_name, city, MIN(DISTINCT income) AS Minimum_Income 
FROM employees 
GROUP BY city;

輸出

該語句將給出如下輸出:

MySQL MIN() Function



相關用法


注:本文由純淨天空篩選整理自 MySQL MIN() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。