将表行旋转到列而没有结果

时间:2017-12-11 19:30:54

标签: mysql

我正在尝试使用以下列从临时表(table1)中获取数据透视表:

[11, 13, 17, 19]

获得

student  percent_correct    exam_id     
student1       100                2
student1        93                3
student1        87                4
student2        93                2
student2        67                3
student2        67                4
student3       100                3

在这里阅读了几篇帖子之后我使用了这段代码,我得到了结果cero,请阅读评论:

student exam2 exam3 exam4
student1  100    93    87
student2  93     67    67
student3  -     100     -

我不知道如何获得这张桌子。

1 个答案:

答案 0 :(得分:0)

使用条件聚合

  select student,
         max(case when exam_id = 2 then percent_correct end) exam2,
         max(case when exam_id = 3 then percent_correct end) exam3,
         max(case when exam_id = 4 then percent_correct end) exam4
  from your_table
  group by student