mysql group by 问题

图片说明
为什么会不能用group by 啊?

当使用group by时,对select分支有要求,只允许以下两种情况出现在select分支:

1 聚合函数
MySql的聚合函数请参考:

2 和group by分支相同的字段

题目中违反了第二条规则,要么在group by分支中增加base_web, base_serverid。
要么在select分支中去掉base_web, base_serverid。

如果对您有帮助,请采纳答案好吗,谢谢!

group by 之后的字段要跟select 后的字段一致

做个最简单的例子
|字段一|字段二|
|------|-------|
|a |b |
|a |c |
当你要group by 字段一的时候,并且还要select字段二,系统是不确定你要的是b还是c,这是不允许的,但是如果你要select的是max(字段二),那结果就是唯一的了,就是被允许的

你要有一个group By的依据条件作为分组的依据

找到原因了,貌似是mysql中,在这种情况下,groupby表达式的elt表达式中interval函数的第一个参数不能是函数的结果,我把count(diatinct base_count) 换成表中的某个字段后就没问题了, 真的对mysql心累

select 中的 base_web, base_serverid 字段属于表字段,需要在group by中提现,