如果另一列中有重复的值,则合并一个列的值。

12 浏览
0 Comments

如果另一列中有重复的值,则合并一个列的值。

这个问题已经有了答案:

最佳方式拼接/聚合字符串

如果另一列重复值的对应值重复,则将列的值组合在一起。

结果应为:

21、22、23 (列A有重复值1)

24 (列A有重复值2)

SELECT coulmn B from table group by column A 

查看下表

列A 列B
1 21
1 22
1 23
2 24
admin 更改状态以发布 2023年5月21日
0
0 Comments

我不确定你正在使用哪种数据库技术,然而在mysql中使用group_concat功能可以很容易地实现这一点。

mysql>
mysql> create table t1(id int,value int);
Query OK, 0 rows affected (0.03 sec)
mysql>
mysql>
mysql> insert into t1 values(1,21),(1,22),(1,23),(2,24);
Query OK, 4 rows affected (0.00 sec)
Records: 4  Duplicates: 0  Warnings: 0
mysql>
mysql>
mysql>
mysql> select * from t1;
+------+-------+
| id   | value |
+------+-------+
|    1 |    21 |
|    1 |    22 |
|    1 |    23 |
|    2 |    24 |
+------+-------+
4 rows in set (0.00 sec)
mysql>
mysql>
mysql>
mysql> select id,group_concat(value) from t1 group by id;
+------+---------------------+
| id   | group_concat(value) |
+------+---------------------+
|    1 | 21,22,23            |
|    2 | 24                  |
+------+---------------------+
2 rows in set (0.00 sec)

0