Mysql SQL-如何连接其中一列

Mysql SQL-如何连接其中一列,mysql,sql,Mysql,Sql,可能重复: 我的SQL:我有一个表,它有3列: ╔═════╦═════╦════════╗ ║ ID1 ║ ID2 ║ ANSWER ║ ╠═════╬═════╬════════╣ ║ 1 ║ 2 ║ 4 ║ ║ 1 ║ 2 ║ 5 ║ ║ 1 ║ 4 ║ 8 ║ ╚═════╩═════╩════════╝ 我想要一张这样的桌子: ╔═════╦═════╦════════╗ ║ ID1 ║ ID2 ║ ANSWER ║ ╠════

可能重复:

我的SQL:我有一个表,它有3列:

╔═════╦═════╦════════╗
║ ID1 ║ ID2 ║ ANSWER ║
╠═════╬═════╬════════╣
║   1 ║   2 ║      4 ║
║   1 ║   2 ║      5 ║
║   1 ║   4 ║      8 ║
╚═════╩═════╩════════╝
我想要一张这样的桌子:

╔═════╦═════╦════════╗
║ ID1 ║ ID2 ║ ANSWER ║
╠═════╬═════╬════════╣
║   1 ║   2 ║ 4 + 5  ║
║   1 ║   4 ║ 8      ║
╚═════╩═════╩════════╝
意思:如果我对id1和id2有不同的答案,我希望它们在一行中使用一些分隔符(可以是+或其他),并且每对id1、id2只能有一行。在MySQL中,您可以使用带有
GROUP BY
的函数将
答案
值连接到同一行中:

select id1,
  id2,
  group_concat(answer SEPARATOR ' + ') as Answer
from yourtable
group by id1,  id2

这将产生以下结果:

| ID1 | ID2 | ANSWER |
----------------------
|   1 |   2 |  4 + 5 |
|   1 |   4 |      8 |

既然您现在已经提到您正在使用
MySQL
,那么您可以利用
GROUP\u CONCAT

SELECT ID1, ID2, GROUP_CONCAT(Answer SEPARATOR ' + ') AnswerList
FROM tableName
GROUP BY ID1, ID2
您正在使用什么<代码>SQL Server<代码>MySQL<代码>Oracle<代码>DB2?等