⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

SQL 聚合函数

SQL 聚合函数 · 难度:进阶 · +15XP

SQL 聚合函数

聚合函数(Aggregate Functions)对一组行进行计算,返回单个结果值。它们是数据统计、报表分析的核心工具,常与GROUP BY配合使用。

五大聚合函数

函数作用示例
COUNT()统计行数SELECT COUNT(*) FROM students
SUM()求和SELECT SUM(score) FROM students
AVG()平均值SELECT AVG(score) FROM students
MAX()最大值SELECT MAX(score) FROM students
MIN()最小值SELECT MIN(score) FROM students

COUNT 详解

-- COUNT(*) 统计所有行(包括NULL)
SELECT COUNT(*) FROM students;          -- 总学生数

-- COUNT(列名) 统计该列非NULL的行数 SELECT COUNT(email) FROM students; -- 有邮箱的学生数

-- COUNT(DISTINCT 列名) 统计不重复值的个数 SELECT COUNT(DISTINCT city) FROM students; -- 有几个不同的城市

综合示例

-- 一次性统计多个指标
SELECT
    COUNT(*) AS 总人数,
    AVG(score) AS 平均分,
    MAX(score) AS 最高分,
    MIN(score) AS 最低分,
    SUM(score) AS 总分
FROM students
WHERE score >= 60;  -- 只统计及格的学生

聚合函数注意事项

-- 错误:聚合函数和普通列不能混用(除非GROUP BY)
SELECT name, MAX(score) FROM students;  -- 错误!

-- 正确:用子查询获取最高分的学生 SELECT name, score FROM students WHERE score = (SELECT MAX(score) FROM students);

-- NULL 值处理 -- SUM、AVG、MAX、MIN 忽略 NULL 值 -- COUNT(*) 不忽略 NULL,COUNT(列名) 忽略 NULL

实战练习

  1. 统计学生总人数、平均分、最高分、最低分
  2. 统计来自南宁的学生平均成绩
  3. 计算及格率(及格人数÷总人数)
  4. 找出成绩高于平均分的学生名单

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 146 篇
0 完成
🔥 0