大家好,又见面了,我是你们的朋友全栈君。
oracle ORA-00937: 非单组分组函数?
这种错误报告通常使用聚合函数,如count和sum,但不使用groupby来声明分组模式。
例如,有一个学生表。字段包括:班级编号、学生编号和学生姓名。现在我们需要知道每个班有多少人。如果查询语句是这样的:
从学生表中选择班级编号,计数(学生编号)
,我们必须报告一个错误。我们必须告诉数据库根据哪个字段进行分组。正确的书写方法是:
选择班级号,从学生表中按班级号分组计数(学生号)
不是单一的分组函数。通常,当在数据库中执行查询语句,并且不定期使用sum、AVG和count等聚合函数时,会报告错误。
例如,我们需要计算每个学生的最终分数:从成绩表中选择姓名、总和(单科分数)和总分。这样,将报告错误。必须使用group by来声明要用作分组计算基础的字段。正确的写作方法是:从成绩表中选择姓名、总和(单科成绩)作为总分,按姓名分组。
现在名字不够,还要加班级,所以写:从成绩表中选择班级、姓名、总和(单科成绩)作为总分,按姓名分组,实际又报错了。
这是因为类只放在查询列中,并且没有用group by声明。所以它应该是:从成绩表中选择班级,姓名,和作为总分,按班级分组,姓名。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/148051.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...