选择 2 列并合并数据

Posted

技术标签:

【中文标题】选择 2 列并合并数据【英文标题】:Select 2 column and merge data 【发布时间】:2019-09-11 06:43:20 【问题描述】:

我想将 col1 中的相同值与 col2 中的特定数据合并,并将其显示在 html 表中。我的sql表是这样的

+------+------+
|col1  |col2  |
+------+------+
|1     |test  |
+------+------+
|2     |test1 |
+------+------+
|1     |test2 |
+------+------+
|1     |test4 |
+------+------+
|2     |test8 |
+------+------+

预期的结果在html表格中是这样显示的。

+------+------+
|      |test  |
|      |      |
|  1   |test1 |
|      |      |
|      |test2 |
+------+------+
|      |test4 |
|  2   |      |
|      |test8 |
+------+------+

【问题讨论】:

在您的应用程序代码中处理这些与显示相关的问题(例如:php、Java 等)。 mysql 是一个 RDBMS(即表)。您不能在一列中有一行,而在另一列中有三行。这不是 Excel 的Merge Cells 你能举例说明我如何在 PHP 中做到这一点吗?我发现的其他相关问题不适合我正在寻找的内容 【参考方案1】:

您的示例数据不明确,但您可能正在寻找 GROUP_CONCAT:

SELECT 
    col1,
    GROUP_CONCAT(col2 SEPARATOR '\n') col2
FROM mytable 
GROUP BY col1
ORDER BY col1

【讨论】:

以上是关于选择 2 列并合并数据的主要内容,如果未能解决你的问题,请参考以下文章

选择最后 n 列并排除数据框中的最后 n 列

如何在pyspark中按列合并多个数据框?

怎么将两个EXCEL表格合并后去除重复数据

Power BI - 采用多列年份和值列并合并为仅 2 列

按标题选择一列并使用宏 ROUND 到最近的一分钱

VBA选择某些列并应用公式