MYSQL - Rown to Columns许多数据没有插入或循环

时间:2017-01-14 11:28:07

标签: mysql sql row multiple-columns

我试图搜索帖子。但我找不到它

我有这样的表:

   +--------+----------+-----------+
   |   id   |   data1  |   data2   |
   +--------+----------+-----------+
   |  A123  |    A     |    315    |
   +--------+----------+-----------+
   |  A123  |    A     |    332    |
   +--------+----------+-----------+
   |  A123  |    A     |    220    |
   +--------+----------+-----------+
   |  C234  |    B     |    356    |
   +--------+----------+-----------+
   |  C234  |    B     |    224    |
   +--------+----------+-----------+
   |  C234  |    B     |    114    |
   +--------+----------+-----------+

我发现这样:

   +--------+----------+-----------+-----------+
   |   id   |   data1  |        newdata        | 
   +--------+----------+-----------+-----------+
   |  A123  |    A     |       315,332,220     |
   +--------+----------+-----------+-----------+
   |  C234  |    B     |       356,224,114     |
   +--------+----------+-----------+-----------+

如何查询数据库:

   +--------+----------+-----------+-----------+-----------+
   |   id   |   data1  |  newdata1 |  newdata2 |  newdata3 |
   +--------+----------+-----------+-----------+-----------+
   |  A123  |    A     |    315    |    332    |    220    |
   +--------+----------+-----------+-----------+-----------+
   |  C234  |    B     |    356    |    224    |    114    |
   +--------+----------+-----------+-----------+-----------+

我只有3个新数据(newdata1,newdata2,newdata3),不再有

由于

1 个答案:

答案 0 :(得分:0)

您正在寻找的内容通常称为“水平旋转”,其中多个值属于表中的公共标识符,具有行的最大修订数 n 每个标识符,水平地从“垂直”旋转到n列。

我前几天刚回答了一个非常相似的问题。

您将看到它基于公共标识符的GROUP BY,并且在测量的情况下使用SUM(CASE WHEN .. END),例如,MAX(CASE WHEN ... END)在不可求值的情况下。 这是我以前的帖子:

How to go about a column with different values in a same row in sql?

如果您需要更具体地匹配您的示例,请大声呼喊。

快乐的比赛 -

Marco the Sane