很抱歉,如果我问这个愚蠢的问题,因为它困扰我几天如何做这件事。
我在MySQL中有一个名为Grades的表。
现在,我想做的就是制作像这样的输出。
是否有SQL这样做?非常感谢你。
答案 0 :(得分:0)
您可以通过学生和班级申请案例/时间和分组。如果你只想要一个人,只需申请一个where子句......或者即使你想让所有学生上课,或者给定学年......等等。
SELECT
g.studNumber,
g.subjCode,
MAX( case when g.period = 1 then g.grade else 0 end ) as 1st_period,
MAX( case when g.period = 2 then g.grade else 0 end ) as 2nd_period,
MAX( case when g.period = 3 then g.grade else 0 end ) as 3rd_period,
MAX( case when g.period = 4 then g.grade else 0 end ) as 4th_period,
AVG( g.grade ) as Ave
from
Grades g
group by
g.studNumber,
g.subjCode