时间:2021-07-01 10:21:17 帮助过:30人阅读
假设有这样一个需求:
1:班级表:
id class_name
2:学生表:
id name class_id
如果我们要查所有的班级以及每个班级下的学生,你一定会想到这样写法:
代码如下:
SELECT
banji.*, user.name
FROM `banji`
left join user
on banji.id=user.`class`
where banji.id=2
代码如下:
SELECT
banji.*, GROUP_CONCAT(user.name) as names
FROM `banji`
left join user
on banji.id=user.`class`
where banji.id=2
id | class_name | names |
2 | 二 | lisi,zhaoliu,liu,小二,xiaoming,小张 |
还可以自定义分隔符:
代码如下:
SELECT
banji.*, GROUP_CONCAT(user.name SEPARATOR "|") as names
FROM `banji`
left join user
on banji.id=user.`class`
where banji.id=2
id | class_name | names |
2 | 二 | lisi|zhaoliu|liu|小二|xiaoming|小张 |