我尝试使用{1}}使用Oracle SQL,但我一直得到以下错误消息(法语):
GROUP BY
以下是我使用的查询,任何人都知道我做错了什么?:
"ORA-00979: n'est pas une expression GROUP BY
00979. 00000 - "not a GROUP BY expression"
答案 0 :(得分:2)
尝试以下方法:
select v_cdco_worksite.id_ws, sum(duration) SumDuration, sum (phases) SumPhases
from v_cdco_worksite
left join osi_phases on v_cdco_worksite.id_ws=osi_phases.id_ws
group by v_cdco_worksite.id_ws;
由于id_ws在两个表中,您需要指定您想要的WHICH,当然还要指定要分组的那个。此外,你忘了要么把持续时间也加入到组中,要么就像你对阶段一样把它加起来。希望这会有所帮助。
答案 1 :(得分:0)
我有MySQL的经验。 Oracle不允许在select语句中使用GROUP BY而不使用aggregate子句。如果您尝试使用GROUP BY作为消除重复项的方法,请尝试在select语句中使用DISTINCT。如果您只是尝试对结果集进行排序,请将GROUP BY替换为ORDER BY。