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


MySQL avg()用法及代碼示例

MySQL avg() 是一個聚合函數,用於返回一個表達式在各種記錄中的平均值。

用法

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

SELECT AVG(aggregate_expression)  
FROM tables  
[WHERE conditions];

參數說明

aggregate_expression:它指定我們要查找平均結果的列或表達式。

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

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

MySQL avg() 函數示例

考慮我們的數據庫有一個名為員工的表,其中包含以下數據。現在,我們將通過各種示例來理解這個函數:

mysql average

1. 基本示例

執行以下查詢,計算表中所有員工的平均工作時間:

mysql> SELECT AVG(working_hours) Avg_working_hours FROM employees;

輸出:

我們將得到如下結果:

mysql average

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

WHERE 子句指定所選記錄必須滿足的條件。執行以下查詢以計算 working_hours >= 12 的員工的總平均工作時間。

mysql> SELECT AVG(working_hours) Avg_working_hours FROM employees WHERE working_hours>=12;

輸出:

它將給出以下輸出:

mysql average

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

GROUP BY 子句用於按一個或多個列返回每個組的結果。例如,此語句使用 AVG() 函數計算每個員工的平均工作時間,然後使用 GROUP BY 子句對結果進行分組:

mysql> SELECT emp_name, occupation, AVG(working_hours) Avg_working_hours FROM employees GROUP BY occupation;

輸出:

在這裏,我們可以看到每個員工的總工作時間是通過根據他們的職業對他們進行分組來計算的。

mysql average

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

HAVING 子句用於過濾 MySQL 中組的平均值。執行以下語句,計算所有員工的平均工作時間,根據他們的職業對他們進行分組,並返回 Avg_working_hours>9 的結果。

mysql> SELECT emp_name, occupation, 
AVG(working_hours) Avg_working_hours 
FROM employees 
GROUP BY occupation 
HAVING AVG(working_hours)>9;

輸出:

mysql average

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

MySQL 使用 DISTINCT 關鍵字從列名中刪除重複的行。此子句與此 avg() 函數一起使用,以返回表中存在的唯一記錄數的平均值。

執行以下查詢,刪除員工表的 working_hours 列中的重複記錄,然後返回平均值:

mysql> SELECT emp_name, occupation, 
AVG(DISTINCT working_hours) Avg_working_hours
FROM employees
GROUP BY occupation;

輸出:

mysql average



相關用法


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