什么叫不是单组分组函数?

在执行基于数据库的问题时,如果我们使用诸如sum,avg和计数之类的汇总功能,我们可能会遇到“不与组分组”的错误。
当您尝试直接计算所有记录而忽略组请求时,通常会发生此错误。
例如,当我们尝试计算每个学生的最终总体结果时,正确的SQL语句应如下:SQLSelect的名称,sum(单个主题结果)作为组表组的总体结果;但是,如果我们仍然想按课堂进行分组,则错误的尝试将是:SQLSELECT类,名称,金额(主题的唯一结果)作为名称表组的一般结果;这将导致错误,因为没有指定类作为分组的基础。
正确的写作方法应为:SQLSELECT类,名称,金额(单个主题结果),作为该组的组分数类,名称的总体结果;总而言之,“不与组的分组函数”的错误提醒我们,当使用聚合功能时,必须明确指定组规范的基础,否则系统将无法正确计算和组数据。

PL/sql 查询 遇到”不是单组分组函数“问题

“爱再次独立”首先回答:)然后我不会重复,我会推。
我会再给您一个前景:联盟是两张表或连接之前和之后的观看。
然后,“先前的请求必须返回联盟之后请求返回的表”您的下一个句子:selectmydept.deptno,count(mydept.loc)从mydept中。
这里有一个错误。
您在选定列中具有汇总函数(例如数量,计算,平均值,金额等),以及列的正常名称。
因此,您必须使用GroupBy打开没有单元的列的名称(一个或多个)。
例如:selecta,b,sum(c)来自)

不是单组分组函数

GroupBy使用(http://yofi.javaeye.com/blog/3 9 4 2 08 )目标:组结果,通常与摘要功能一起使用。
Syntax: Selectcolumn, Sum (column) FROMTABLEGROUPBYColumn Example: Original data in the table "Sales": Companyamountw3 schools5 5 00ibm4 5 00w3 schools7 1 00 grouped according to the field of the company, and search for total lovers of each company: Selectcompany, SUM (quantity) Fromsalesgroupbypany return result: companysum (amount) W3 SCHOOLS1 2 6 00IBM4 5 00目标HUVE:指定组或摘要的搜索条件。
语法:SelectColumn,Sum(列)FromTableGroupByColumnHavingsum(列)条件说明:通常与GroupBy子句同时使用它。
当不使用Groupby时,具有类似于地点条款。
示例:“销售”表的原始数据:CompanyAmountW3 SCHOOLS5 5 00IBM4 5 00W3 SCHOOLS7 1 00根据公司领域进行分组,并找到每家公司的总数据,该数据的总数据超过1 0000:SelectCompany:SelectCompany,sum(sum(Munter),salessgroupbybybybybybygroupbybybycompanyhavingsum(量) Xiaoqiang 3 If you want to count the number of people in grade, you can: select, count (*) as a number of cheese chemagroupbydrade -------------------------------------------------------------------------------- ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ The functions and other functions are that they generally act on几个录音。
在介绍该组并拥有条款上之前,我们必须首先谈论SQL语言中的特殊功能:汇总功能,例如总和,计数,最大,AVG等。
这些功能和其他功能之间的基本差异是它们通常在多个录音上作用。
Selectsum(人口)FURBBC此处的总和在所有返回记录的人口范围上。
结果是该请求仅返回一个结果,也就是说所有国家的总人口。
使用groupby子句,可以制作诸如总和之类的函数以在组中进行数据操作。
当您指定组byregion时,一组属于同一区域的数据只会仅发送值。
换句话说,除区域以外的所有字段外,只能通过通过汇总函数(例如总和和数字)计算后返回值。
分组允许我们在分组后过滤每个数据组。
pelter子句在汇总之前记录它们。
也就是说,它在groupby子句和子句具有之前起作用。
子句组在汇总后过滤了记录。
让我们始终通过特定示例理解该组并具有条款,还使用BBC表第3 节中介绍的BBC表。
SQL示例:1 显示每个区域的总人口和总表面。
Selectrgegion,Somme(人口),Somme(区域)FrabBcGroupByRegion首先将回报记录划分为使用该地区的几个组,这是Groupby的字面意义。
一旦组分开,汇总函数将用于在每个组中的不同字段(一个或多个记录)上执行操作。
2 显示每个区域的总人口和总面积。
仅显示超过1 00,000个面积的区域。
selectrgegion,sum(sum),总和(区域)rabbcgrroupbyregionhavingsum(Zone)> 1 0,000,000,我们无法使用在表中过滤区域超过1 0,000,000的地方,因为该记录在表中不存在。
相反,“超级子”允许我们在分组后过滤每个数据组。

怎么解决SQL不是单组分组函数啊

你好。
这应该是一个声明问题。

SQL里报错,不是单组分组函数

Max(AVG(SAL))有些奇怪,您是否正在寻找最大平均水平? selectmax(avg_sal)来自(selectDeptno,avg(sal)asavg_salfrummpgropbydeptno)sub -sim如果您想要查询,则与最大的平均值相对*,与(selectOntOnnumasno,deptno,deptno,dePtno,deptno,avg(sal)asavg_salfrompmmpgroplyphappyplompappydeptbyavg(sal)