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

标签 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。

我的结果异常(exception)

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

如何形成查询来获取结果?

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

最佳答案

试试这个

(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)

关于mysql - 如何使用具有多个最小和最大条件的 MySQL 获取记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40647754/

相关文章:

php - java.lang.String类型的Android数据库无法转换为JSONObject

mysql - 如何计算MySQL语句的大小(不是查询结果)

java - Hibernate、MySQL 和名为 "Repeat"的表 - 奇怪的行为

MySQL JOIN 不使用 < > 运算符过滤 WHERE 子句,因为从 MySQL 5.6 -> 5.7 移动

mysql - 升级后mysql错误如何解决

mysql - 列出 MySQL JSON 字段的所有数组元素

php - 如何成功完成这条INSERT JOIN WHERE SQL语句?

java - MySQL JDBC over SSL 问题

mysql - mysql.user 表中的 max_connections 列有什么用?

mysql - 安装Mysql 5.7失败