Mysql查询动态地将行转换为列 - 可能吗?

时间:2015-07-28 13:09:49

标签: mysql pivot

here类似,我需要动态添加依赖于出现次数的列。

区别在于:

  • 没有订单栏。没有其他表连接或任何外键。
  • 修复了其他列并指定了用户。在以下示例中,它设置为2。

示例表:

+--+-----+
|id|data | // + Any other Constant rows
+--+-----+
|1 |P    | // 1. of id1
+--+-----+ 
|1 |Q    | // 2. of id1
+--+-----+
|2 |R    | // 1. of id2
+--+-----+
|3 |S    | // 1. of id3
+--+-----+
|3 |a    | // 2. of id3
+--+-----+
|3 |C    | // 3. of id3
+--+-----+

包含2个数据列的示例结果表(由用户预先设置 - 当然也可以是3个或更多)

+--+-----+-----+
|id|data1|data2| // + all other constant columns
+--+-----+-----+
|1 |P    |Q    | // exactly 2 entries
+--+-----+-----+
|2 |R    |NULL | // no second entry
+--+-----+-----+
|3 |S    |a    | // no third entry
+--+-----+-----+

我的第一个想法是创建一个标识列,比如“orders”列,但我找不到实现它的方法。

有可能意识到这一点吗? 我准备了sqlFiddle

0 个答案:

没有答案