mysql group_concat用法

843
2023/11/25 3:53:01
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

GROUP_CONCAT 函数用于将一列的多个值连接为一个字符串,并可以选择使用分隔符来分隔这些值。

语法:

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

参数说明:

  • DISTINCT:可选参数,用于去除重复的值。
  • expr:要连接的列或表达式。
  • ORDER BY:可选参数,用于排序连接后的值。
  • ASCDESC:可选参数,用于指定排序的顺序,默认为升序排序。
  • SEPARATOR:可选参数,用于指定连接的分隔符,默认为逗号 ,

示例: 假设有以下 students 表:

id name subject
1 John Math
2 Jane Science
3 Alice Math
4 Bob History
5 Tom Science
  1. 连接所有学生的姓名:
SELECT GROUP_CONCAT(name) AS all_names FROM students;

输出:John,Jane,Alice,Bob,Tom

  1. 连接所有学生的姓名,使用分号作为分隔符:
SELECT GROUP_CONCAT(name SEPARATOR ';') AS all_names FROM students;

输出:John;Jane;Alice;Bob;Tom

  1. 连接所有学生所学的科目,并按字母顺序排序:
SELECT GROUP_CONCAT(DISTINCT subject ORDER BY subject ASC) AS all_subjects FROM students;

输出:History,Math,Science

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: mysql exists与JOIN操作的区别