本文为个人学习笔记,材料取自牛客网在线编程
GROUP BY语句通常用于结合sum()函数,根据一个或多个列对结果集进行分组。
例题:
题目描述
按照dept_no进行汇总,属于同一个部门的emp_no按照逗号进行连接,结果给出dept_no以及连接出的结果employees
CREATE TABLE dept_emp (
emp_no int(11) NOT NULL,
dept_no char(4) NOT NULL,
from_date date NOT NULL,
to_date date NOT NULL,
PRIMARY KEY (emp_no,dept_no));
输出格式:
| dept_no | employees |
|---|---|
| d001 | 10001,10002 |
| d002 | 10006 |
| d003 | 10005 |
| d004 | 10003,10004 |
| d005 | 10007,10008,10010 |
| d006 | 10009,10010 |
解析:
汇总分组,用到GROUP BY。而group_concat()函数将GROUP BY产生的同一个分组中的值连接起来,返回一个字符串结果。
group_concat(X,Y):X为要连接的字段,Y为连接时用的符号,默认为逗号,可省略。
结果如下:
SELECT dept_no, group_concat(emp_no) AS employees
FROM dept_emp GROUP BY dept_no
总结:
GROUP BY语句用于分组,而利用group_concat()函数可以进行组内连接。
本文通过实例讲解了SQL中GROUP BY语句的使用方法,特别关注其与GROUP_CONCAT函数的结合运用,展示了如何对数据进行有效分组及连接同一分组内的值。
705

被折叠的 条评论
为什么被折叠?



