帮我解释下:所有select的字段,除聚合函数中的字段,都必须在group by中出现。只要满足这个规则就可以

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了帮我解释下:所有select的字段,除聚合函数中的字段,都必须在group by中出现。只要满足这个规则就可以相关的知识,希望对你有一定的参考价值。

这句话是什么意思

使用groupby,聚合函数可以重新出现select查询字段,但是常规字段必须在groupby之后分组。

例如:从表组中选择A,B,C,count(degreeD),sum(E),特殊的B,C,除了聚合函数count(D)和sum(E)之外,字段A、B和C必须出现在groupby中。

groupby的意思是将一个数据集按照一定的规则划分为几个小区域,然后对几个小区域进行数据处理。例如:从表GROUPBYProductPlace中选择COUNT(*)作为水果种类

这条SQL语句简单地使用GroupBy+来对字段进行分组,可以将其解释为“按生产国家对数据集进行分组,然后按每组计算所记录的各种水果的数量”。

扩展资料:

如果GROUPBY使用ALL关键字,那么查询结果应该包括由GROUPBY子句生成的所有组,即使有些组没有匹配搜索条件的行。如果没有ALL关键字,包含GROUPBY子句的SELECT语句将不会显示不符合条件的一组行。

返回结果集中每个可能的组和子组组合的GROUPBYsummary行。GROUPBYsummary行可用于表示所有值,也可以在结果中显示为NULL。

排序函数通常在ORDERBY子句中使用:ASC,DESC,其中,ASC表示升序,DESC表示降序,Sort函数通常放在子句的末尾,以指示它们是如何排序的。例如:从学号='2006091**1'的成绩中按ASC年级排序。

参考技术A 在使用group by的时候,聚合函数可以再select查询字段出现,但是普通的字段一定要在group by后面分组。 参考技术B 举个例子,select A,B,C,count(D),sum(E)from table group by A,B,C。
除聚合函数count(D),sum(E)外,字段A,B,C必须在group by中出现。
参考技术C 好苦的意思

以上是关于帮我解释下:所有select的字段,除聚合函数中的字段,都必须在group by中出现。只要满足这个规则就可以的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server中的聚合函数都有哪些?

如何查出在oracle 表中的某个字段中符合以下要求:包括除汉字、数字、字母、中画线、括弧外的其它字符

选择除基于 MySQL 中的两个字段之外的所有行

聚合函数字段注意.where和having的区别

为啥sql查询语句中的count(*)等聚合函数可以放在having后面,而不能放在where后面?

在SQL中的聚合函数