柚子快報(bào)邀請(qǐng)碼778899分享:數(shù)據(jù)庫 mysql之聚合函數(shù)
柚子快報(bào)邀請(qǐng)碼778899分享:數(shù)據(jù)庫 mysql之聚合函數(shù)
聚合函數(shù)通常在 SQL 查詢中與 GROUP BY 語句一起使用,它們對(duì)一組值執(zhí)行計(jì)算并返回單個(gè)值。以下是一個(gè)示例 SQL 查詢,它結(jié)合使用了多個(gè)聚合函數(shù)來演示它們的用法:
假設(shè)我們有一個(gè)名為 sales 的表,它包含了 amount 和 date 兩個(gè)字段,分別表示銷售額和銷售日期:
CREATE TABLE sales ( id INT AUTO_INCREMENT PRIMARY KEY,amount DECIMAL(10, 2), sale_date DATE);
現(xiàn)在,我們使用一個(gè)查詢來演示如何使用聚合函數(shù)來獲取總銷售額、平均銷售額、最高銷售額、最低銷售額和銷售記錄數(shù)量:
SELECT COUNT(*) AS total_sales_count, -- 總銷售記錄數(shù)
SUM(amount) AS total_sales, -- 總銷售額
AVG(amount) AS average_sale, -- 平均銷售額
MAX(amount) AS highest_sale, -- 最高銷售額
MIN(amount) AS lowest_sale -- 最低銷售額
FROM sales;
在這個(gè)查詢中,每個(gè)聚合函數(shù)都作用于 sales 表的 amount 字段,除了 COUNT(*),它是用來統(tǒng)計(jì)總的銷售記錄數(shù)。
如果我們想要根據(jù)某個(gè)時(shí)間段(比如每個(gè)月)來分組統(tǒng)計(jì)這些數(shù)據(jù),我們可以添加 GROUP BY 語句:
SELECT YEAR(sale_date) AS sale_year,
MONTH(sale_date) AS sale_month,
COUNT(*) AS total_sales_count,
SUM(amount) AS total_sales,
AVG(amount) AS average_sale,
MAX(amount) AS highest_sale,
MIN(amount) AS lowest_sale
FROM sales
GROUP BY YEAR(sale_date), MONTH(sale_date);
這個(gè)查詢將 sales 表中的記錄按年份和月份進(jìn)行分組,并計(jì)算每個(gè)組的總銷售記錄數(shù)、總銷售額、平均銷售額、最高銷售額和最低銷售額。
聚合函數(shù)的詳細(xì)介紹:
COUNT(*): 計(jì)算表中的行數(shù),可以包括 NULL 值。 SUM(column): 返回指定列的數(shù)值總和。 AVG(column): 返回指定列的平均值。 MAX(column): 返回指定列的最大值。 MIN(column): 返回指定列的最小值。
請(qǐng)注意,聚合函數(shù)通常忽略 NULL 值,除非另有說明(例如,COUNT(*) 包括所有行,即使其中的列值為 NULL)。
柚子快報(bào)邀請(qǐng)碼778899分享:數(shù)據(jù)庫 mysql之聚合函數(shù)
相關(guān)鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。