您能帮我在SQL中纠正此查询吗
SELECT
STUDENT_NAME, SUBJECT, TYPE_OF_DISTRIBUTION,
SUM(POINTS) * WEIGHT_IN_PERCENTAGE / (COUNT(POINTS) * 100)
FROM
assignments a
JOIN
distributions d ON a.TYPE_OF_DISTRIBUTION = d.ASSIGNMENT_CATEGORY
GROUP BY
SUBJECT, TYPE_OF_DISTRIBUTION, STUDENT_NAME
ORDER BY
STUDENT_NAME ASC;
第1行的错误:
ORA-00979:不是通过表达式的组
SELECT
STUDENT_NAME, SUBJECT, TYPE_OF_DISTRIBUTION,
SUM(POINTS) * WEIGHT_IN_PERCENTAGE / (COUNT(POINTS) * 100)
FROM
assignments a
JOIN
distributions d ON a.TYPE_OF_DISTRIBUTION = d.ASSIGNMENT_CATEGORY
GROUP BY
SUBJECT, TYPE_OF_DISTRIBUTION, STUDENT_NAME
ORDER BY
STUDENT_NAME ASC;
ERROR at line 1:
ORA-00979: not a GROUP BY expression
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您正在遇到此错误
stroge_in_percentage
。如果stright_in_percentage
对于组中的每个行都相同,则可以使用(sum(sum(points) * max(wigath_in_percentage)))
或您可以sum(points * wove_in_percentage)
将其乘以点
总和之前:或
You are getting this error for
WEIGHT_IN_PERCENTAGE
. IfWEIGHT_IN_PERCENTAGE
is same for every row in a group you can use(SUM(POINTS) * max(WEIGHT_IN_PERCENTAGE))
or you canSUM(POINTS*WEIGHT_IN_PERCENTAGE)
multiply it withPOINTS
before sum:OR