mysql sql GROUP_CONCAT方法里内容排序
时间: 2023-07-28 07:25:38 浏览: 102
在MySQL的GROUP_CONCAT函数中,可以使用ORDER BY子句对要合并的数据进行排序。ORDER BY子句可以指定列名或表达式,并可以选择升序或降序排列。
以下是使用GROUP_CONCAT和ORDER BY的示例:
假设有一个名为orders的表,包含order_id和product_name两个字段。现在要按照order_id分组,并将每个分组中的product_name按照字母顺序合并为一个字符串。
可以使用以下SQL语句:
```
SELECT order_id, GROUP_CONCAT(product_name ORDER BY product_name SEPARATOR ', ') AS products
FROM orders
GROUP BY order_id;
```
在上面的SQL语句中,ORDER BY子句指定了按照product_name列进行升序排序,用逗号加一个空格作为分隔符。
执行结果如下:
```
+----------+----------------------+
| order_id | products |
+----------+----------------------+
| 1 | iPhone, MacBook |
| 2 | AirPods, iPad |
| 3 | Apple Watch, iMac |
+----------+----------------------+
```
可以看到,每个分组中的product_name已经按照字母顺序排序,并用逗号加一个空格作为分隔符合并为一个字符串。
阅读全文