📜  mysql group concat - SQL (1)

📅  最后修改于: 2023-12-03 15:33:01.593000             🧑  作者: Mango

MySQL GROUP CONCAT - SQL

简介

MySQL GROUP CONCAT是用来将多行数据合并为一行数据并在之间添加分隔符的函数。

在MySQL中,GROUP CONCAT函数是一个聚合函数,可以在SELECT语句中使用。 它将每个组中的行连接成一个字符串,以便在一个单独的行中返回。

语法

GROUP_CONCAT(expr) GROUP_CONCAT(DISTINCT expr)

参数
  • expr:将要被连接的文本表达式。
  • DISTINCT:去掉重复的文本表达式。
示例

假如我们有以下的City表:

| ID | Name          | CountryCode | District      | Population |
|----|---------------|-------------|---------------|------------|
| 1  | Lagos         | NGA         | Lagos         | 12310000   |
| 2  | Cairo         | EGY         | Kairo         | 8560000    |
| 3  | Kinshasa      | COD         | Kinshasa      | 5060000    |
| 4  | Beijing       | CHN         | Beijing       | 7510000    |
| 5  | New York      | USA         | New York      | 8008278    |
| 6  | Shanghai      | CHN         | Shanghai      | 9696300    |
| 7  | Buenos Aires  | ARG         | Buenos Aires  | 2982146    |

我们使用以下SQL语句来将每个国家的城市名以逗号分隔的形式列出:

SELECT 
  CountryCode, 
  GROUP_CONCAT(Name) as Cities
FROM City
GROUP BY CountryCode;

我们将得到以下结果:

| CountryCode | Cities                                          |
|-------------|-------------------------------------------------|
| ARG         | Buenos Aires                                    |
| CHN         | Beijing,Shanghai                                |
| COD         | Kinshasa                                        |
| EGY         | Cairo                                           |
| NGA         | Lagos                                           |
| USA         | New York                                        |

以上结果将每个国家的城市名连接成了一个字符串并以逗号作为分隔符。

总结

在这篇文章中,我们学习了MySQL GROUP CONCAT函数的语法和参数,并且我们已经查看了代码示例。 GROUP CONCAT是一个有用的内置MySQL函数,有助于处理SQL数据,特别是在将多个数据拼合在一起的情况下。希望这篇文章对你有所帮助!