首先,我很抱歉,如果我的标题让事情变得更复杂,那么这就是我想要的东西。我想减去两列。我的第一个专栏是从男性获得的数学的最高分数,第二个专栏是从女性获得的数学的最低分数。所以这就是我想要做但却失败的事情。的聚苯乙烯。 stu_gender在学生表中,mat在笔记表中
select max(mat) from students,scores where stu_gender = "Male"
- (select min(mat) from students,scores where stu_gender = "Female")
它给了我这个错误
Truncated incorrect DOUBLE value: 'Male'
那么我怎样才能得到我想要的东西?我正在寻找您的答案并感谢您的任何评论。
答案 0 :(得分:1)
由于每个选择的结果是一个表,-
表示设置减去。你可以这样做:
select (max(mat) - (select min(mat) from students,scores where stu_gender = "Female"))
from students,scores where stu_gender = "Male"
或者:
select(max(r.mat) - (select min(r.mat) from r where r.stu_gender = "Female"))
from (select * from students,scores) as r
where r.stu_gender = "Male"