題目連結
題目描述
按照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(要連接配接的列 [order by <按哪個列排序> asc/desc] [separator <分隔符>])[] 表示是可選的
思路:
按 dept_no分組, 然後用 group_concat 把結果黏貼起來就可以了 。
mysql 寫法:
SELECT dept_no, GROUP_CONCAT(emp_no ORDER BY emp_no ASC SEPARATOR ',')
FROM dept_emp
GROUP BY dept_no
;
然而mysql的寫法不能再評測機通過, 因為評測用的是 sallite 。。。
是以下面不嚴謹的寫法居然給過。。
select dept_no, group_concat(emp_no)
from dept_emp
group by dept_no;