SQL创建新表并从另一个表

时间:2017-10-22 03:37:53

标签: mysql sql

我试图找到学期间GPA的差异。

ID 1 Semester Fall   GPA: 3.0
ID 1 Semester Spring GPA: 3.5
ID 2 Semester Fall   GPA: 3.0
ID 3 Semester Fall   GPA: 3.0
ID 3 Semester Spring GPA: 3.2

因为ID 2没有春季GPA,所以我无法在两个学期之间进行比较。 那么,我该怎么写以找出ID 1和ID 3的差异GPA?

ID 1 : .5
ID 3 : .2 

1 个答案:

答案 0 :(得分:3)

自我加入:

select a.id, 
    b.gpa - a.gpa as diff
from your_table a
join your_table b on a.id = b.id
where a.semester = 'Fall'
and b.semester = 'Spring';