关于mysql函数GROUP_CONCAT
程序员文章站
2022-05-31 22:22:35
...
GROUP_CONCAT()通常结合 group by 一起来使用
举一个例子:
一张部门表
id name
1 开发部
一张员工表
id name departmentId
1 张三 1
2 李四 1
3 王五 1
打印:
id name employeeNames
1 开发部 张三,李四,王五
sql语句:
select td.id,td.`name`,GROUP_CONCAT(te.`name`) as employeeNames from t_department td left join t_employees te on td.id = te.departmentId
如果想对Id进行组合,以下方式错误:
GROUP_CONCAT(te.id)
正确方式:先转换,在组合
GROUP_CONCAT(CAST(te.id AS char))
正条语句:
select td.id,td.`name`,GROUP_CONCAT(te.`name`) as employeeNames,GROUP_CONCAT( CAST(te.id AS char)) as employeeIds from t_department td left join t_employees te on td.id = te.departmentId
举一个例子:
一张部门表
id name
1 开发部
一张员工表
id name departmentId
1 张三 1
2 李四 1
3 王五 1
打印:
id name employeeNames
1 开发部 张三,李四,王五
sql语句:
select td.id,td.`name`,GROUP_CONCAT(te.`name`) as employeeNames from t_department td left join t_employees te on td.id = te.departmentId
如果想对Id进行组合,以下方式错误:
GROUP_CONCAT(te.id)
正确方式:先转换,在组合
GROUP_CONCAT(CAST(te.id AS char))
正条语句:
select td.id,td.`name`,GROUP_CONCAT(te.`name`) as employeeNames,GROUP_CONCAT( CAST(te.id AS char)) as employeeIds from t_department td left join t_employees te on td.id = te.departmentId
下一篇: 古代太监能娶妻?皇帝不管吗?