我需要将行从重复的id更改为列。
这个例子能更好地解释我的问题
我所拥有的:
+----+-----------+-------+
| id | id_data | values|
+----+-----------+-------+
| 1 | 1 | data1 |
+----+-----------+-------+
| 2 | 1 | data2 |
+----+-----------+-------+
| 3 | 1 | data3 |
+----+-----------+-------+
| 4 | 2 | data4 |
+----+-----------+-------+
| 5 | 2 | data5 |
+----+-----------+-------+
我想要的是:
+----+---------+---------+---------+---------+
| id | id_data | option1 | option2 | option3 |
+----+---------+---------+---------+---------+
| 1 | 1 | data1 | data2 | data3 |
| 2 | 2 | data4 | data5 | 0 |
+----+---------+---------+---------+---------+
1条答案
按热度按时间klr1opcd1#
使用条件聚合。以下代码只有在
id
依次增长一倍。dbfiddle演示
如果数据中存在“缺口”
id
值,然后cn
可以使用自联接进行计算。