【发布时间】:2016-11-12 01:52:05
【问题描述】:
得到类似的东西:
+-------+------+-------+
| count | id | grade |
+-------+------+-------+
| 1 | 0 | A |
| 2 | 0 | B |
| 1 | 1 | F |
| 3 | 1 | D |
| 5 | 2 | B |
| 1 | 2 | C |
我需要:
+-----+---+----+---+---+---+
| id | A | B | C | D | F |
+-----+---+----+---+---+---+
| 0 | 1 | 2 | 0 | 0 | 0 |
| 1 | 0 | 0 | 0 | 1 | 1 |
| 2 | 0 | 5 | 1 | 0 | 0 |
我什至不知道我是否可以做到这一点。我可以按 id 分组,但您如何读取每个成绩列的计数值?
【问题讨论】:
-
第一个表是查询的结果吗?如果是这样,也请显示您的原始表格结构,因为可能有更简单的解决方案来获得最终结果。
-
是的!我有一些本质上可以给出 id、class、grade 的东西。我按 ID 和等级分组并计算其中的元组。
标签: sql postgresql group-by pivot crosstab