如何减去一个最大列和一个最小列?

时间:2018-06-02 00:10:31

标签: mysql sql

首先,我很抱歉,如果我的标题让事情变得更复杂,那么这就是我想要的东西。我想减去两列。我的第一个专栏是从男性获得的数学的最高分数,第二个专栏是从女性获得的数学的最低分数。所以这就是我想要做但却失败的事情。的聚苯乙烯。 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'

那么我怎样才能得到我想要的东西?我正在寻找您的答案并感谢您的任何评论。

1 个答案:

答案 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"