mssql group by 问题

来源:百度知道 编辑:UC知道 时间:2024/03/29 06:02:33
书上把我搞晕了 能不能用通俗一点的语言讲一下呢 。
有一本书上是这么说的
在使用group by 子句的时候 出现在select子句中的列(不包括表达式)一定要在分组表达式中,比如 select a,b,c*d 则可用group by a,b group by a,b,c,d 但不能用group by b(没有a) 和group by a,c,d(没有b) 这句话把我搞晕了 为什么不能没有a有没有b ?

说白了就是你select 所取出的字段 在分组里必须有

但是排除被合计的字段

比如 select a,b,c from table group by a,b,c

这里 group by 里 必须有a,b,c

如果改成 select a,b,sum(c) from table groupby a,b
这里 因为c被合计了 所以按照a,b分组就可以了

同样的合计函数还包括max count 等等!~