在SQL中使用group by对数据进行分类

时间:2012-05-06 16:59:42

标签: sql

我怀疑与链接SQL - columns for different categories中发布的问题类似。我有学生表,学生姓名,中期成绩和最终成绩,下面是GradeTable。

StName  MidTermGrade    FinalGrade
St1         1               1
St2         2               1
St3         2               3
St4         1               3
St5         1               1
St6         2               3
St7         2               2
St8         1               1
St9         2               2
St10        2               3
St11        3               1
St12        2               1
St13        3               3
St14        3               2
St15        1               2

需要使用SQL查询对此数据进行分类以生成输出,以便所有评分和学生姓名都包含在一个查询输出中,我可以将其粘贴到word / excel中并将其作为报告提供。

FinalGrade  MidTermGrade1   MidTermGrade2   MidTermGrade3
   1        St1             St2             St11
   1        St5             St12    
   1        St8     
   2        St15            St7             St14
   2                        St9 
   3        St4             St3             St13
   3        St6 
   3                        St10    

请提供帮助,并告知是否可以实现这一目标。

1 个答案:

答案 0 :(得分:0)

不要认为很容易/可能得到你需要的东西,但也许这已经足够了:

select FinalGrade, MidtermGrade, group_concat(StName) from GradeTable group by FinalGrade, MidtermGrade;

然后你可以用代码轻松完成剩下的工作..?