如果 ID 匹配,MySQL 查询将行显示为列

标签 mysql excel csv

我正在尝试处理一些数据以进行 CSV 导入,但遇到了一些问题。

我的带有示例数据的表格:

node_id, comment

1,comment1
1,comment2
2,comment3
3,comment4
4,comment5
4,comment6
4,comment7

我想做的是运行一个查询,将具有相同 node_id 的所有评论放在一行中:

1,comment1,comment2
2,comment3
3,comment4
4,comment5,comment6,comment7

有人知道如何做到这一点吗?

最佳答案

您可以使用GROUP_CONCAT()

SELECT node_id, GROUP_CONCAT(comment) FROM sample_data_table GROUP BY node_id;

注意:此表结构实际上对数据进行了非规范化。这可能是一个糟糕的设计决策。

关于如果 ID 匹配,MySQL 查询将行显示为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12271558/

相关文章:

csv - jasperreport csv 版本中的分号作为分隔符

database - Postgresql 复制 CSV 错误 : extra data after last expected column

MySQL查询性能突然变慢

php - 如果 MYSQL [BLOB] 为 NULL,我该如何更新

php - 如何使用 php 将我的 sql 查询转换为 json?

vba用一个替换两个引号/生成txt文件

csv - 如何让Powershell从单个CSV单元读取多个值?

MYSQL 不检查外键是否存在

vba - 将信息从一个选项卡拉到另一个选项卡

ajax - 使用 XMLHttpRequest 的 VBA 代码总是返回 #VALUE!在 Excel 中