-1

重複の可能性:
多くの行を単一のテキスト文字列に連結しますか?

MY 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 の答えが異なる場合、それらを 1 つの行に区切り文字 (+ または他のものにすることができます) を付けて、id1、id2 のペアごとに 1 つの行にする必要があります。

4

2 に答える 2

1

を使用していることを説明したのでMySQL、を利用できますGROUP_CONCAT

SELECT ID1, ID2, GROUP_CONCAT(Answer SEPARATOR ' + ') AnswerList
FROM tableName
GROUP BY ID1, ID2
于 2013-02-04T14:43:36.580 に答える
1

MySQL では、GROUP_CONCAT()関数を a とともに使用して、値を同じ行に連結しGROUP BYて取得できます。Answer

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

SQL Fiddle with Demoを参照してください。

これにより、次の結果が生成されます。

| ID1 | ID2 | ANSWER |
----------------------
|   1 |   2 |  4 + 5 |
|   1 |   4 |      8 |
于 2013-02-04T14:43:07.420 に答える