Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL创建新表并从另一个表插入数据_Mysql_Sql - Fatal编程技术网

Mysql SQL创建新表并从另一个表插入数据

Mysql SQL创建新表并从另一个表插入数据,mysql,sql,Mysql,Sql,我试图找出各学期平均成绩的差异 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 因为ID2没有春季GPA,所以我无法在两个学期之间进行比较。 那么,我应该如何写来找出ID 1和ID 3的GPA差异呢 ID 1 : .5 ID 3 : .2 自

我试图找出各学期平均成绩的差异

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
因为ID2没有春季GPA,所以我无法在两个学期之间进行比较。 那么,我应该如何写来找出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';
自连接:

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';

请分享你的努力!请分享你的努力!