SQL练习:SQL53_中等
题目: 按照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 |
题解:
# 考点:GROUP_CONCAT函数
SELECT dept_no,GROUP_CONCAT(emp_no) employees
FROM dept_emp
GROUP BY dept_no;
- MySQL的语法:
group_concat([DISTINCT] 要连接的字段 [Order BY 排序字段 ASC/DESC] [Separator ‘分隔符’]) - sqlite的语法:
group_concat(要连接的字段 [,‘分隔符’] )
注:【[]】符号里面的内容可省略,默认分隔符为【,】
- 个人整理的笔记,仅供学习使用,有问题麻烦指正。
- 题目来源于:牛客网