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


MySQL MAX()用法及代碼示例


MySQL MAX() 函數用於返回表達式的一組值中的最大值。當我們需要查找最大數量、選擇最昂貴的產品或從您的表中向客戶支付最大數量時,此聚合函數非常有用。

用法

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

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

參數說明

該函數使用以下參數:

aggregate_expression:它是必需的表達式。它指定將從中返回最大值的列、表達式或公式。

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

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

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

MySQL MAX() 函數示例

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

mysql max() function

1. 基本示例

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

mysql> SELECT MAX(income) AS "Maximum Income" FROM employees;

輸出

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

mysql max() function

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

WHERE 子句允許我們從所選記錄中過濾結果。以下語句從員工表的所有行中查找最大收入。 WHERE 子句指定 emp_age 列大於 35 的所有行。

mysql> SELECT MAX(income) AS "Maximum_Income" 
FROM employees 
WHERE emp_age > 35;

輸出

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

mysql max() function

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

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

mysql> SELECT emp_age, MAX(income) AS "Maximum Income" 
FROM employees 
GROUP BY emp_age;

輸出

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

mysql max() function

3. 帶有 HAVING 子句的 MySQL MAX() 函數

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

mysql> SELECT city, MAX(income) AS "Maximum Income" 
FROM employees 
GROUP BY city
HAVING MAX(income) >= 200000;

輸出

該語句將返回如下輸出:

mysql max() function

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

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

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

mysql> SELECT city, MAX(DISTINCT income) AS "Maximum Income" 
FROM employees 
GROUP BY city;

輸出

該語句將給出如下輸出:

mysql max() function

6. 子查詢示例中的 MySQL MAX() 函數

有時需要使用子查詢返回表中的最大值。在這種情況下,我們使用以下查詢:

mysql> SELECT * FROM employees WHERE 
emp_age = (SELECT MAX(emp_age) FROM employees);

子查詢首先從表中查找員工的最大年齡。然後,主查詢(外查詢)返回年齡等於子查詢返回的最大年齡等信息的結果。

輸出

mysql max() function



相關用法


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