不是 GROUP BY 表达式

sj0*_*ske 3 sql database oracle expression

我正在创建以下 sql 查询:

SELECT B.AFLEVERING_ID,A.NAAM, COUNT(B.AFLEVERING_ID) AS aantal_keer_bekeken
FROM BEKEKENVIA B, AFLEVERING A
WHERE A.AFLEVERING_ID = B.AFLEVERING_ID
GROUP BY B.AFLEVERING_ID
ORDER BY B.AFLEVERING_ID ASC;
Run Code Online (Sandbox Code Playgroud)

为什么给它错误:

ORA-00979: not a GROUP BY expression
00979. 00000 -  "not a GROUP BY expression"
*Cause:    
*Action:
Error at Line: 42 Column: 24
Run Code Online (Sandbox Code Playgroud)

为什么会这样,我该如何解决?它是 Oracle SQL。

Ken*_*ite 6

在所列出的每一列SELECT是不聚合函数的结果(SUM()AVG()COUNT()MIN()MAX()等等)具有在上市GROUP BY。您选择了B.AFLEVERING_IDA.NAAM,因此您的 group by 必须同时包含它们。

SELECT B.AFLEVERING_ID,A.NAAM, COUNT(B.AFLEVERING_ID) AS aantal_keer_bekeken
FROM BEKEKENVIA B, AFLEVERING A
WHERE A.AFLEVERING_ID = B.AFLEVERING_ID
GROUP BY B.AFLEVERING_ID, A.NAAM
ORDER BY B.AFLEVERING_ID ASC;
Run Code Online (Sandbox Code Playgroud)