今天我们来说一下 在MYSQL中 当 where 遇到需要用 SUM()函数 做判断,并且需要分组的时候 应该怎么解决
我想大家都应该了解 where sum(score) group by name 这样是错误的 ,但是 怎么写是对的呢?下面我们就来看一下
| id |
name |
type | score |
| 1 |
张三 |
语文 |
99 |
| 2 |
李四 |
语文 |
88 |
| 3 |
张三 |
数学 |
99 |
| 4 |
李四 |
数学 |
88 |
| 5 |
张三 |
化学 |
100 |
| 6 |
刘二 |
语文 |
100 |
根据上表 用 一句SQL语句 查出 总分大于150 的学生资料 并按总分由高到低排序:
select name, sum(score) from scroe group by name having sum(score)>150 order by sum(score) desc
这就是一种解决方法;就是将where条件 换成having 并且应该注意 要先分组(group by)再判断。
转自http://blog.163.com/alex_wdd/blog/static/18610010720106751223985/
当Where遇到sum()和group by的解决方法
原文:http://www.cnblogs.com/BeyondTime/p/4272785.html