通过合并相似的列来操作重复的行[重复]
Posted
技术标签:
【中文标题】通过合并相似的列来操作重复的行[重复]【英文标题】:Manipulating duplicate rows by merging similar colmns [duplicate] 【发布时间】:2017-02-13 21:53:17 【问题描述】:我有第 1 行和第 2 行,它们在记录中相似,但状态列除外。
+-----+------+-------+-----------+----------+---------+
| #id | NAME | STATUS| c_lan | Java_lan | Dot_lan |
+-----+------+-------+-----------+----------+---------+
| 1 | A | 111 | yes | Q | W |
| 1 | A | 222 | yes | Q | W |
| 2 | B | 333 | NA | B | C |
+-----+------+-------+-----------+----------+---------+
现在是否可以将这两行 (1,2) 变成如下所示的一行(需要将状态值合并到一个单元格中)?
+-----+------+-----------+-----------+----------+---------+
| #id | NAME | STATUS | c_lan | Java_lan | Dot_lan |
+-----+------+-----------+-----------+----------+---------+
| 1 | A | 111,222 | yes | Q | W |
| 2 | B | 333 | NA | B | C |
+-----+------+-----------+-----------+----------+---------+
注意到我正在考虑在 mysql 视图上完成此操作
【问题讨论】:
select id,name,group_concat(status) from table_name group by id 除了 STATUS 列之外的行是否总是相同的? @jussius ONLY_FULL_GROUP_BY" 与其他 RDBMS 一样,并在缺少 GROUP BY 时抛出错误 【参考方案1】:SELECT id,group_concat(distinct name),group_concat(distinct status),group_concat(distinct c_lan),group_concat(distinct java_lan),group_concat(distinct dot_lan) 从表 1 按 ID 分组;
【讨论】:
以上是关于通过合并相似的列来操作重复的行[重复]的主要内容,如果未能解决你的问题,请参考以下文章