当Where遇到sum()和group by的解决方法

今天我们来说一下 在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/

时间: 2024-10-28 03:15:37

当Where遇到sum()和group by的解决方法的相关文章

apt-get update 更新 ubuntu时出现Hash sum mismatch的原因及解决方法

$ sudo apt-get update ...... Hit http://mirrors.163.com trusty/main Sources                                 Hit http://mirrors.163.com trusty/restricted Sources                           Get:17 http://mirrors.163.com trusty/universe Sources [6,399 kB

Ubuntu Hash Sum mismatch 解决方法

有时候通过校园网对Ubuntu14.04进行更新时,会出现以下问题: W: Failed to fetch http://xxxxxxx Hash Sum mismatch 解决方法:打开搜索 →  search: softwares & updates → Ubuntu Software → Download from , 选择中科院(ustc)的源,更换源之后,可以试试重新输入: sudo apt-get update  若问题依旧,输入: sudo gedit /etc/apt/sourc

ArgumentException: Getting control x's position in a group with only x controls when doing KeyDown Aborting解决方法

标题有点长,做Editor工具时遇到的问题.最后解决了,总结下 有可能你在界面中用了键盘事件或者其他事件,导致这个报错.官方论坛有个解释比较给力LINK 我在渲染Layout和Repaint的时候加上这个判断: if (Event.current.type == EventType.KeyDown || Event.current.type == EventType.KeyUp) return; 并且保证其他事件类型不会出现在Layout和Repaint中,最后不再报错. ArgumentExc

Group by的使用方法

sql中如果要分组查询,一般都会使用到group by语句,如何熟练使用group by语句呢,我分以下几点进行总结. Group by与聚合函数 Group by与Having 需要注意的地方 Group by与聚合函数 group by一般与聚合函数一起使用.这是因为group by之后结果集就变成了多个分组,而每个分组可能包含多条记录,要想针对每个分组进行操作,所以必须使用可以作用在多条记录上的聚合函数.比如,下面的示例就使用了group by和聚合函数查询每个PNR的总记录数,sql语句

group by 的使用方法

数据库: 1.一个条件分组查询 $sql = "select brand,count(*),sum(price),avg(price),max(price),min(price) from goods group by brand"; $result = mysqli_query($link,$sql); if(mysqli_num_rows($result)>0) { while($row = mysqli_fetch_assoc($result)) { echo '品牌有'.

SQL中SUM函数返回NULL的解决办法

1.oracel:使用NVL()函数: select nvl(sum(num),0) from table 2.mysql:使用IFNULL()函数 select ifnull(sum(num),0) from table

关于SQL语句中SUM函数返回NULL的解决办法

SUM 是SQL语句中的标准求和函数,如果没有符合条件的记录,那么SUM函数会返回NULL. 但多数情况下,我们希望如果没有符合条件记录的情况下,我们希望它返回0,而不是NULL,那么我们可以使用例如下面的方法来处理: SELECT COALESCE(SUM(name),0) FROM person WHERE id > 0   行了,这下就不用费事去处理返回结果是否为NULL的情况了. COALESCE 函数的意思是返回参数列表中第一个为空的值,该方法允许传入多个参数,该函数也是SQL中的标准

HDU 5381(The sum of gcd-莫队算法解决区间段gcd的和)

The sum of gcd Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 784    Accepted Submission(s): 335 Problem Description You have an array A,the length of A is n Let f(l,r)=∑ri=l∑rj=igcd(ai,ai+1..

quotacheck命令不能创建aquota.user和aquota.group文件解决方法

在学习CentOS 6.5 磁盘配额quotacheck命令这里,已经挂载分区到/home目录下,执行命令然后遇到错误提示,最后找到了原因,解决了问题. 解释:aquota.group与aqouta.user分别是组以及用户磁盘配额需要的配置文件.如果没有这两个文件,则磁盘配额是不会生效的. 执行命令 # quotacheck -augv [[email protected] ~]# quotacheck -augv quotacheck: Your kernel probably suppor