
按性别分组并合并姓名
问题:一个班有50名学生的信息,姓名和性别已知。需要按性别将学生分组,并把每组的姓名合并。
答案:使用 group_concat 函数可以实现需求。
select gender, count(1), group_concat(name) from students group by gender;
示例:
-- 创建表
CREATE TABLE students (
name VARCHAR(100),
gender VARCHAR(10)
);
-- 插入数据
INSERT INTO students VALUES('小明', '男'), ('小李', '男'), ('小红', '女'), ('小绿', '女');
-- 按性别分组并合并姓名
SELECT gender, count(1), group_concat(name)
FROM students
GROUP BY gender;示例结果:
| gender | count | name |
|---|---|---|
| 男 | 2 | 小明,小李 |
| 女 | 2 | 小红,小绿 |










