SQL练习53:按照dept_no进行汇总,属于同一个部门的emp_no按照逗号进行连接,结果给出dept_no以及连接出的结果employees
题目链接:牛客网
题目描述
按照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_CONCAT(A, B),该函数要和 GROUP BY 配合使用。
- A:要连接的字段
- B:连接时用的符号,可以省略,默认为逗号
SELECT dept_no, GROUP_CONCAT(emp_no) employees
FROM dept_emp
GROUP BY dept_no
本文介绍如何使用SQL的GROUP_CONCAT函数按部门编号汇总员工编号,通过具体实例展示了如何实现不同员工编号间的逗号连接,并给出了预期的输出结果。
445





