SQL GROUP BY 语句详解
创作时间:
作者:
@小白创作中心
SQL GROUP BY 语句详解
引用
1
来源
1.
https://geek-docs.com/sql/sql-statement/sql-group-by.html
SQL GROUP BY 语句
SQL中的GROUP BY语句用于在一些函数的帮助下将相同的数据安排到组中。例如,如果一个特定的列在不同的行中有相同的值,那么它将把这些行安排在一个组中。
重要的几点:
- GROUP BY子句与SELECT语句一起使用。
- 在查询中,GROUP BY子句放在WHERE子句之后。
- 在查询中,如果使用ORDER BY子句,则将GROUP BY子句放在前面。
语法:
SELECT column1, function_name(column2)
FROM table_name
WHERE condition
GROUP BY column1, column2
ORDER BY column1, column2;
function_name: 所使用的函数的名称,例如SUM(), AVG().
table_name: 表名.
condition: 使用条件.
示例表:
Employee
Student
示例:
- 按单列分组:组单列是指将同一列的所有值相同的行放在一个组中。考虑下面的查询:
SELECT NAME, SUM(SALARY) FROM Employee
GROUP BY NAME;
上面的查询将产生以下输出:
在上面的输出中可以看到,具有重复名称的行被分组在相同的NAME下,它们对应的SALARY是重复行的SALARY的总和。这里使用SQL的SUM()函数来计算和。
- 按多列分组:按多列分组,例如,GROUP BY column1, column2. 这意味着将两列的值放在相同的行中column1和column2在一个组。考虑下面的查询:
SELECT SUBJECT, YEAR, Count(*)
FROM Student
GROUP BY SUBJECT, YEAR;
输出:
正如您在上面的输出中看到的,SUBJECT和YEAR都相同的学生被放在同一个组中。而唯一的SUBJECT是相同的,而不是YEAR的则属于不同的组。因此,这里我们根据两列或多列对表进行了分组。
HAVING Clause
我们知道WHERE子句用于在列上放置条件,但是如果我们想在组上放置条件呢?
这时就需要使用HAVING子句了。我们可以使用HAVING子句来设置条件,以决定哪一组将成为最终结果集的一部分。此外,我们不能在WHERE子句中使用诸如SUM()、COUNT()等聚合函数。所以我们必须使用HAVING子句如果我们想在条件中使用这些函数。
语法:
SELECT column1, function_name(column2)
FROM table_name
WHERE condition
GROUP BY column1, column2
HAVING condition
ORDER BY column1, column2;
function_name: 所使用的函数的名称,例如SUM(), AVG().
table_name: 表名.
condition: 使用条件.
示例:
SELECT NAME, SUM(SALARY) FROM Employee
GROUP BY NAME
HAVING SUM(SALARY)>3000;
输出:
正如您在上面的输出中看到的,三个组中只有一个组出现在结果集中,因为它是唯一一个SALARY之和大于3000的组。所以我们在这里使用HAVING子句来放置这个条件,因为条件需要放在组而不是列上。
热门推荐
怎么把微信的账单导出到excel
《GTAOL》2024电车性能TOP10!最强电车推荐!
低蛋白血症的诊断与治疗:从症状识别到科学管理
游泳健身:高效燃脂与心肺提升
国资匆匆离场!博世科或第三次易主
执行“终本”后,“我”该怎么办?
关于PON的5个重要事项以及GPON技术向10G PON和XGS-PON的发展
什么是案件登记
足底筋膜炎的定义、症状及物理治疗方法
2025考研科目顺序及时间分配表 2025考研科目时间安排
抗战中的广西——桂军不负国
火焰藻:水族箱中的红色精灵
施耐德触摸屏维修一招解决
抖音短视频防抖技术解析:提升画质与观赏体验的关键因素
燕窝的有效成分及其保健功效
湖人半场领先10分:詹皇5万分里程碑 东契奇单节17分+海斯8中8
氧化钠是电解质吗 氧化钠的作用
安徽省灵璧县:虞姬故里,奇石之乡
如何在繁忙的工作中保持健康的生活习惯?
近代历史人物评述之李鸿章
揭秘银河真容:探索我们如何描绘银河系的全貌
天人合一:从《易经》看人与自然的和谐共处
吵架背后的生理变化,你了解多少?
如何评估电商平台定制需求?
不同宗教在瓦努阿图是如何相互尊重共处的?
劳动仲裁对公司有哪些负面影响?
混凝土养护时间及方法详解
灵活就业社保和城乡居民社保的区别,很多人还不明白
数据结构排序算法之直接插入排序与希尔排序【图文详解】
如何选择适合自己的高性能移动硬盘?从类型、品牌到数据保护全解析