我的 group by 语句出现 oracle 错误,我的 group by 不是表达式。这似乎在 MYSQL 中有效。
SELECT pname, PNUMBER, SUM(HOURS)
FROM PROJECT, WORKS_ON w, EMPLOYEE e
WHERE w.essn=e.ssn AND pnumber=pno
GROUP BY PNUMBER;
建议?谢谢
使用 时,子句中GROUP BY
允许的唯一表达式是*SELECT
GROUP BY
列表中,以及PNUMBER
可以,因为它在GROUP BY
列表中;SUM(HOURS)
没关系,因为它使用SUM
聚合器。
这给我们留下了pname
,两者都不是。根据您尝试实现的目标,您需要将其聚合、添加到或从列表中
GROUP BY
排除。SELECT
GROUP BY
.
和mySQL不一样,你忘了PNAME
SELECT pname, PNUMBER, SUM(HOURS)
FROM PROJECT, WORKS_ON w, EMPLOYEE e
WHERE w.essn=e.ssn AND pnumber=pno
GROUP BY PNUMBER, **PNAME**;