欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

MySQL的七個聚合函數

謝彥文1年前9瀏覽0評論

MySQL是一種常用的關系型數據庫管理系統(RDBMS),在數據處理和分析中廣泛應用。MySQL提供了許多聚合函數,用于對數據進行分組并返回總和、平均值、最大值、最小值等結果。

SELECT 函數名稱(列名) FROM 表名;

下面我們將介紹七個常用的MySQL聚合函數:

AVG(): 返回指定列的平均值。
MAX(): 返回指定列的最大值。
MIN(): 返回指定列的最小值。
SUM(): 返回指定列的總和。
COUNT(): 返回指定列的行數。
COUNT(DISTINCT 列名): 返回指定列不同值的行數。
GROUP_CONCAT(): 返回指定列的所有值,以逗號分隔。

下面我們通過一個簡單的例子來演示這些函數的用法:

CREATE TABLE students (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20),
age INT,
gender VARCHAR(5),
score INT
);
INSERT INTO students (name, age, gender, score)
VALUES
('張三', 18, '男', 90),
('李四', 19, '女', 80),
('王五', 20, '女', 85),
('趙六', 21, '男', 95),
('孫七', 22, '女', 75);

假設我們要統計學生表中男生的平均分、女生的最高分、各個年齡段的學生人數和所有學生的總分數,可以這樣查詢:

SELECT
AVG(score) AS 男生平均分,
MAX(score) AS 女生最高分,
COUNT(*) AS 學生總數,
SUM(score) AS 總分數
FROM
students
WHERE
gender = '男' OR gender = '女'
GROUP BY
gender
WITH ROLLUP;

該查詢將按照性別分組計算平均分和最高分,并統計學生總數和總分數。其中,GROUP BY子句指定按照gender列分組,WITH ROLLUP子句指定在結果集中添加小計行和總計行。

另外,COUNT()函數可以用于統計指定列不同值的行數。例如,我們可以用COUNT(DISTINCT age)來統計不同年齡的學生數:

SELECT COUNT(DISTINCT age) FROM students;

最后一個函數是GROUP_CONCAT(),它可以返回指定列的所有值,以逗號分隔。例如,我們可以用GROUP_CONCAT(name)來列出所有學生的姓名:

SELECT GROUP_CONCAT(name) FROM students;

總之,MySQL的聚合函數大大簡化了數據處理和分析的過程,使我們能夠更快捷地了解數據的特點和規律。掌握這些函數的用法對于日常工作和學習都非常有幫助。