首页 > 解决方案 > SQL 数据修改

问题描述

我对 StudentName, GPA, Semester 有意见

        Name     GPA    Semester
          x        3.15   1
          x        2.89   2
          y        3.87   1
          y        4.0    2

我想这样修改

     Name semester1 GPA  semester 2 GPA
       x        3.15          2.89
       y        3.87           4.0


 Any help would be appreciated.
 Thanks

标签: mysqlsql

解决方案


使用条件聚合:

select Name,
       max(case when Semester = 1 then GPA end) AS "semester1 GPA",
       max(case when Semester = 2 then GPA end) AS "semester3 GPA"
from table t
where Semester in (1, 2)
group by Name;

推荐阅读