當使用MySQL查詢分析數據時,經常需要找到數據的平均值。但是,有時候我們需要查找的數據并不在一個表格中。在這種情況下,我們可以使用MySQL內置的AVG()函數來計算數據的平均值。
SELECT AVG(amount) AS avg_amount FROM (SELECT 20 AS amount UNION SELECT 30 AS amount UNION SELECT 40 AS amount UNION SELECT 50 AS amount) AS t;
在上面的代碼中,我們首先使用UNION命令將需要計算平均值的數據整合到一個臨時表t中,再使用AVG()函數來計算t表中amount字段的平均值,并使用AS關鍵字對計算結果進行重命名。
除此之外,我們還可以使用MySQL內置的CASE語句來計算平均值,代碼如下:
SELECT AVG(CASE WHEN type = 'A' THEN amount END) AS avg_amount_A, AVG(CASE WHEN type = 'B' THEN amount END) AS avg_amount_B FROM (SELECT 'A' AS type, 20 AS amount UNION SELECT 'B' AS type, 30 AS amount UNION SELECT 'A' AS type, 40 AS amount UNION SELECT 'B' AS type, 50 AS amount) t;
在上面的代碼中,我們在臨時表t中使用CASE語句來選擇需要計算的數據,然后分別計算type字段為A和B的數據的平均值。
上一篇mysql求平均成績大于
下一篇mysql求平均值用什么