我有一个查询,该查询返回包含 10 列的数据,其中每行只有一个列值是唯一的,而所有其他列值将在每行几行中重复。
例如:
第 1 栏 |第 2 栏 |第 3 栏 |第 4 栏 |第 5 栏 |第 6 栏
索尼 | Xperia| |堆栈 |问 |问题 | XYZ
索尼 | Xperia| |堆栈 |问 |问题 | ABC
索尼 | Xperia| |堆栈 |问 |问题 | 123
Nexus |安卓 |堆栈 |问 |问题 |兴趣点
Nexus |安卓 |堆栈 |问 |问题 |杀死
我希望结果是 -
例如:第 1 列 |第 2 栏 |第 3 栏 |第 4 栏 |第 5 栏 |第 6 栏
索尼 | Xperia| |堆栈 |问 |问题 | XYZ、ABC、123
Nexus |安卓 |堆栈 |问 |问题 | POI,杀死
你们能帮我通过mysql查询实现这个吗?只要暗示一下可能性就可以了。 我按排序顺序获取了值,以便“要分组”的行始终连续出现。
提前致谢。 :)
最佳答案
您可以使用聚合和group_concat()
来完成此操作:
select column1, column2, column3, column4, column5, group_concat(column6) as column6
from query q
group by column1, column2, column3, column4, column5;
关于MySQL 将列的值分组为单个单元格值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22085648/