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子句来放置这个条件,因为条件需要放在组而不是列上。
热门推荐
JSON 中的注释:解决方法、风险和最佳实践
JSON 中的注释:解决方法、风险和最佳实践
乒乓球正胶技术详解:核心技术、实战应用与器材选择
法国1886年勒贝尔步枪:世界上第一款无烟火药制式步枪
别人的荣耀1886年“勒贝尔”步枪
潢川空心贡面:传统工艺与美味享受
《修真聊天群》小说中的修真世界全解析
虚拟经济与实体经济的关联性研究
武当南岩宫桃木剑:神秘与传奇交织
跑步减脂的正确方法 跑步减肥最有效
薛仁贵五万精锐为何在吐蕃全军覆没?
免费法律咨询服务:为您提供专业、高效的权益保护
中国历代帝王排名前十:谁是最具影响力的千古一帝?
英特尔反垄断胜诉获赔38亿,未来市场竞争依旧激烈
短剧演员,快红过顶流了?
英国留学本科申请规划指南来了,去英国读本科看这一篇就够了
财经知识小技巧:从入门到实践的全方位指南
为什么扎西德勒不能随便说?
数据库敏感数据如何加密
万贵妃是谁的妃嫔?地位如何?
银价走高!买银首饰陷阱可不少......
揭秘章鱼的三颗心:海洋生物的生存智慧
酒桌上被别人劝酒?八个技巧教你如何婉拒
孩子有自残倾向,家长应该如何引导?
探寻佛家串文化:佛珠背后的奥秘与传承
探寻历史深处的王者典范——千古一帝的标准
新版中国幽门螺杆菌感染指南发布!9款彻底用药方案,一并详解
海河称谓的演变
连续四场比赛进球 姆巴佩终于融入皇马
姆巴佩皇马生涯前40场比赛与C罗、大罗等名宿相比如何?