GROUP_CONCAT 是 MySQL 中用于将多个行中的值连接成一个字符串的函数。它可以用于 SELECT 语句中的 GROUP BY 子句中,将分组后的结果合并成一个字符串。

语法:

GROUP_CONCAT([DISTINCT] expr [,expr ...] 
            [ORDER BY {unsigned_integer | col_name | expr} 
                [ASC | DESC] [,col_name ...]] 
            [SEPARATOR str_val])

参数说明:

  • DISTINCT:可选参数,表示去重。
  • expr:要连接的列名或表达式。
  • ORDER BY:可选参数,表示排序。
  • SEPARATOR:可选参数,表示分隔符,默认为逗号。

示例:

假设我们有一个 students 表,其中包含学生的姓名和所属班级,我们想要按班级分组,将每个班级的学生姓名连接成一个字符串。

mysql> SELECT class, GROUP_CONCAT(name) FROM students GROUP BY class;

结果:

+-------+------------------------+
| class | GROUP_CONCAT(name)      |
+-------+------------------------+
| 1     | Alice,Bob,Charlie       |
| 2     | David,Emily,Frank,Grace |
+-------+------------------------+

在这个例子中,我们使用 GROUP_CONCAT 函数将每个班级的学生姓名连接成了一个字符串,并用逗号分隔。

MySQL GROUP_CONCAT 函数:将多行数据合并成字符串

原文地址: https://www.cveoy.top/t/topic/lP4F 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录