您的位置:首页 > 数据库

sql语句常见问题集锦

2016-12-27 09:17 274 查看

一、group by 、where、having问题

group by要求返回的所有字段,要么出现在聚合函数(avg、sum、count、max、min等)中,要么出现Group By后面作为分组依据,不然高版本的mysql会报错。如:

select albumId,programId,sum(playNum) as playNum,sum(onlineNum ) as onlineNum from mam_content group by albumId;

这条sql语句中programId既没出现在聚合函数中,也没像albumId出现在group by后面作为分组依据,所以会报错。当然此种错误可以mysql的配置文件中设置忽略,忽略时,programId会在多个结果中选一个作为它的最终结果。

用了group by时,where是在聚合函数求结果前进行筛选,而having是在聚合函数求完结果后进行筛选。如:

select countTime,SUM(onlinePlayNum) as onlinePlayNum,SUM(downloadNum) as downloadNum from stat_content where albumId >100 group by countTime
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql sql