group_concat和concat的相同点和不同点
时间: 2023-09-26 12:11:44 浏览: 28
`GROUP_CONCAT` 和 `CONCAT` 都是 MySQL 中的字符串函数。
相同点:
1. 都是用于字符串拼接;
2. 都可以接受多个字符串参数。
不同点:
1. `CONCAT` 只能拼接两个字符串,而 `GROUP_CONCAT` 可以拼接多个字符串;
2. `GROUP_CONCAT` 还可以用于对多行数据进行字符串拼接,并且可以指定分隔符;
3. `GROUP_CONCAT` 还可以设置排序方式、去重等。
举个例子,假设有以下表:
users:
| id | name |
|----|-------|
| 1 | Alice |
| 2 | Bob |
| 3 | Chris |
orders:
| id | user_id | product |
|----|---------|---------|
| 1 | 1 | apple |
| 2 | 1 | banana |
| 3 | 2 | orange |
| 4 | 3 | apple |
使用 `CONCAT`:
```
SELECT CONCAT(users.name, ' bought a ', orders.product) AS message
FROM users
JOIN orders ON users.id = orders.user_id;
```
输出:
| message |
|--------------------------|
| Alice bought a apple |
| Alice bought a banana |
| Bob bought a orange |
| Chris bought a apple |
使用 `GROUP_CONCAT`:
```
SELECT users.name, GROUP_CONCAT(orders.product SEPARATOR ', ') AS products
FROM users
JOIN orders ON users.id = orders.user_id
GROUP BY users.id;
```
输出:
| name | products |
|-------|----------------------|
| Alice | apple, banana |
| Bob | orange |
| Chris | apple |
可以看到,`GROUP_CONCAT` 可以将多行数据进行字符串拼接,并且可以指定分隔符。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)