我试图找到学期间GPA的差异。
ID 1 Semester Fall GPA: 3.0
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没有spring GPA,所以我会忽略ID2。 那么,我该怎么写以找出ID 1和ID 3的差异GPA?
ID 1 : .5
ID 3 : .2
我使用下面的代码
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';
然而,结果显示......
ID1 : .5
ID1 : .5
ID3 : .2
如何删除重复内容?把...作为... ...
ID1:.5 ID3:.2
我在想'独特'?
答案 0 :(得分:0)
如果要删除重复内容,请使用distinct
SELECT DISTINCT a.id
,b.gpa - a.gpa AS diff
FROM table1 a
INNER JOIN table1 b ON a.id = b.id
WHERE a.semester = 'Fall'
AND b.semester = 'Spring';
<强> DEMO 强>