Invalid use of group function的原因 |
您所在的位置:网站首页 › mysql的各种锁 › Invalid use of group function的原因 |
关于Invalid use of group function错误
昨天在刷牛客网的SQL必知必会的题目中,犯了一个很低级的错误,报的错就是Invalid use of group function。具体原因是因为我在where中使用了聚合函数sum,where表示条件,如果条件里有sum、avg等聚合函数,需要将使用了聚合函数做判断的语句放到having后 参考文章:Invalid use of group function原因 将两个select语句返回的结果连接起来的方法使用union关键字,该关键字的作用是“连接两个表,对行操作” 单独使用union会把两个表中重复的行都删除,而使用union all则会将两个表中重复的行都保留下来。 分组查询时,select字段是否一定要都在group by中?大多数情况下是的,MySQL在5.7.5之后的版本中都添加了ONLY_FULL_GROUP_BY这个限制,如果不把select的字段添加到group by后就会报这个错。 当然也有例外,当你的select字段中有主键时,你可以选择只在group by后写上主键,这样的SQL也不会报错。 参考文章:分组查询时,select的字段是否一定要都在group by中? |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |