mysql分组、合并语句
时间:2021-07-01 10:21:17
帮助过:5人阅读
+
| id| name |
+
|1 | 10|
|1 | 20|
|1 | 20|
|2 | 20|
|3 | 200 |
|3 | 500 |
+
6 rows in set (0.00 sec)
1.以id分组,把name字段的值打印在一行,逗号分隔(默认)
Sql代码
- mysql> select id,group_concat(name) from aa group by id;
- +
- | id| group_concat(name) |
- +
- |1 | 10,20,20|
- |2 | 20 |
- |3 | 200,500|
- +
- 3 rows in set (0.00 sec)
2.以id分组,把name字段的值打印在一行,分号分隔
Sql代码
- mysql> select id,group_concat(name separator ‘;‘) from aa group by id;
- +
- | id| group_concat(name separator ‘;‘) |
- +
- |1 | 10;20;20 |
- |2 | 20|
- |3 | 200;500 |
- +
- 3 rows in set (0.00 sec)
3.以id分组,把去冗余的name字段的值打印在一行,逗号分隔
Sql代码
- mysql> select id,group_concat(distinct name) from aa group by id;
- +
- | id| group_concat(distinct name) |
- +
- |1 | 10,20|
- |2 | 20 |
- |3 | 200,500 |
- +
- 3 rows in set (0.00 sec)
4.以id分组,把name字段的值打印在一行,逗号分隔,以name排倒序
Sql代码
- mysql> select id,group_concat(name order by name desc) from aa group by id;
- +
- | id| group_concat(name order by name desc) |
- +
- |1 | 20,20,10 |
- |2 | 20|
- |3 | 500,200|
- +
- 3 rows in set (0.00 sec)
mysql分组、合并语句
标签:bar sel cat order order by distinct sql concat 默认