MySQL 将列的值分组为单个单元格值

标签 mysql sql join temp-tables

我有一个查询,该查询返回包含 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/

相关文章:

SQL 连接问题 : Third table's fields not displaying in Excel but in SQL

mysql - SQL反向搜索产品和折扣

php - 使用 Union 或运行查询两次

php - mysql全连接查询

php - 使用 STR_TO_DATE 时查询返回 NULL

mysql - 数据库结构 - 最常见的查询跨越 3-4 个表。我应该减少 table 吗?

MySQL JOIN 具有相应 ID 的多个列

php - 如何使用PHP和MYSQL将数据插入到两个不同的表中

mysql - 匹配 MySQL 注释的正则表达式

PHP/MySQL - 未捕获 mysqli_sql_exception : MySQL server has gone away