MySQL是一个功能强大的关系型数据库管理系统,它提供了多种方法来操作数据库中的数据,其中之一是分组拼接字符串。
假设我们有一个students表,其中包含学生的姓名和考试成绩:
--by www.qzphp.cn CREATE TABLE students ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), score INT ); INSERT INTO students (name, score) VALUES ('Alice', 80), ('Bob', 90), ('Charlie', 85), ('David', 95), ('Eva', 70), ('Frank', 75), ('Grace', 88), ('Henry', 93);
我们想要按照成绩进行分组,并将每个组内的学生姓名拼接成一个字符串。可以使用GROUP_CONCAT函数来实现:
--by www.qzphp.cn SELECT score, GROUP_CONCAT(name) AS names FROM students GROUP BY score;
运行以上SQL语句后,将得到以下结果:
--by www.qzphp.cn +-------+----------------------+ | score | names | +-------+----------------------+ | 70 | Eva | | 75 | Frank | | 80 | Alice | | 85 | Charlie | | 88 | Grace | | 90 | Bob | | 93 | Henry | | 95 | David | +-------+----------------------+
可以看到,每个分组内的学生姓名被拼接成了一个字符串,并且按照成绩进行了分组。
GROUP_CONCAT函数不仅支持在拼接字符串时添加分隔符(默认为逗号),还支持对拼接出的字符串进行排序、去重等操作。具体用法可以参考MySQL官方文档。