如何使用具有多个最小和最大条件的MySQL获取记录?

时间:2016-11-17 06:05:23

标签: mysql mysql-5.7

表格看起来

StudentId, SubjcetName, Marks
1          Maths        50
1          Science      80
1          Language     70
2          Maths        80
2          Science      50
2          Language     60
3          Maths        85
3          Science      95
3          Language     60

从这张表中我想要获取记录 - 谁在数学最小值:50和最大值:90中获得分数,以及在科学中得分低于75分的人。

我的例外结果

1 Maths 50
2 Maths 80
2 Science 50
3 Maths 85

如何形成查询以获得结果?

注意:主题是动态的,最小和最大可适用于任何主题。

2 个答案:

答案 0 :(得分:0)

试试这个

(SELECT StudentId, SubjcetName, Marks 
FROM table
WHERE SubjcetName = 'Maths'
AND Marks BETWEEN 50 AND 90)
UNION
(SELECT StudentId, SubjcetName, Marks 
FROM table
WHERE SubjcetName = 'Science'
AND Marks < 75)

答案 1 :(得分:0)

请尝试以下查询,

 SELECT StudentId, SubjcetName, Marks  FROM tablename
 WHERE Marks BETWEEN 50 AND 90
 AND SubjcetName="Maths"
 OR
(Marks < 75 AND SubjcetName="Science")

这对我有用。