sql - 不是 GROUP BY 表达式

标签 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;

为什么报错:

ORA-00979: not a GROUP BY expression
00979. 00000 -  "not a GROUP BY expression"
*Cause:    
*Action:
Error at Line: 42 Column: 24

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

最佳答案

SELECT 中列出的不是聚合函数结果的每一列(SUM()AVG()COUNT ()MIN()MAX() 等等)必须列在 GROUP BY 中。您选择了 B.AFLEVERING_IDA.NAAM,因此您的分组依据必须包括它们。

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;

关于sql - 不是 GROUP BY 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26680353/

相关文章:

mysql - 在mysql中代表 "linked"联系人

sql - 如何提取值中小数点后的第一个数字

vb.net - 为什么数据表的加载方法有时这么慢?

java - 从servlet以自动增量方式获取oracle中的记录

php - 在 php 中从 mysql 表中选择一个字符串不显示输出

SQL INSERT(选择)使用基于另一列值的 CASE

sql - 微软 SQL Server Management Studio 2012 中的白色圆圈

java - Q : hibernate spring transaction is synchronized ? 如果没有,我如何更新数据库安全线程?

sql-server - 使用 View 时表索引如何发挥作用?

php - 查询输出的行多于应有的行数