为什么会不能用group by 啊?
当使用group by时,对select分支有要求,只允许以下两种情况出现在select分支:
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中提现,