我的 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**;