`
zsgzs
  • 浏览: 64992 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

ORA-00979: 不是 GROUP BY 表达式 的原因

阅读更多

原因是聚集函数使用的时候 select   col_name1,col_name2,聚集函数()   from   table_name   ...group   by   col_name1,col_name2;  
   
  聚集函数前面有几个列就要在group   by后面出现几列,举例如下:

 

检索每一个部门中所有员工的平均月收入超过2000元的部门名称及平均月收入:

 

 

select A.DEPTNO 部门编号,B.DNAME 部门名称, avg(sal) 平均工资 from emp a join dept b on A.DEPTNO=B.DEPTNO group by A.DEPTNO,B.DNAME having avg(sal)>2000

分享到:
评论
1 楼 me- 2010-10-25  
     

相关推荐

    ORA-00979 不是group by 表达式

    标题 "ORA-00979 不是group by 表达式" 提及的是一个在使用SQL查询时常见的错误,通常出现在尝试执行聚合操作(如COUNT、SUM、AVG等)而没有正确指定GROUP BY子句的情况下。在SQL中,当你在SELECT语句中包含非聚合...

    Oracle 错误集选

    ### ORA-01791: 不是SELECTed表达式 如果在查询中使用了未在SELECT列表中出现的表达式,将遇到此错误。确保所有使用的表达式都出现在SELECT列表中。 ### ORA-01792: 表或视图中的最大列数为1000 表或视图中的列数...

    oracle错误报告.docx

    GROUP BY或ORDER BY子句中超过1000个表达式。减少表达式数量以符合限制。 8. ORA-00964: 表不在FROM列表中。确保在选择列表中引用的所有表都在FROM子句中定义。 9. ORA-00965: 不允许'*'作为列别名。在SQL语句中...

    oracle脚本 常用的数据库sql及pl\sql语言

    1. 分组和聚合函数:GROUP BY用于分组数据,聚合函数如COUNT(), SUM(), AVG()等用于计算每个组的统计信息。 2. 联接操作:JOIN用于合并来自两个或更多表的数据,如INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL OUTER ...

    Oracle 错误代码整理总结

    14. ORA-00937:不是单组分组函数 使用了GROUP BY但未包含所有非聚合列,或在HAVING子句中使用了非分组函数。 15. ORA-00942:表或视图不存在 引用的表或视图在数据库中找不到,检查表名和权限。 16. ORA-00947:...

    Oracle数据库学习日记

    - 示例: `select department, sum(salary) as total_salary from employees group by department having total_salary > 100000;` ##### 6.3 数据分组总结 - **分组总结**: 综合使用 `group by` 和 `having` 子句...

    Oracle数据库学习日记-实用性最强的Oracle学习总结.docx

    ##### 6.2 Groupby 和 having 子句 - 使用 `HAVING` 子句可以在分组后进一步筛选数据。 - 示例:`SELECT DEPARTMENT, COUNT(*) AS EMP_COUNT FROM MY_TABLE GROUP BY DEPARTMENT HAVING COUNT(*) > 5;` ##### 6.3...

    oracle伪列以与伪表.doc

    - 方法1:通过`GROUP BY`和`HAVING`子句找出出现多次的ID。 - 方法2:利用`MIN(ROWID)`或`MAX(ROWID)`排除每个组中已存在的ROWID。 - 删除重复记录: - 对于大量重复记录,可以先找出具有多个实例的ID,然后...

    wmsys.wm_concat详细示例.txt

    SELECT id, wmsys.wm_concat(name) AS name FROM idtable GROUP BY id; ``` 这段代码的结果将返回每个`id`对应的`name`列值的汇总字符串,如`10`对应的`name`列值为`'ab,bc,cd'`,而`20`对应的`name`列值为`'hi,ij,...

    Oracle创建视图(View)

    2.在视图包含GROUP 函数,GROUP BY子句,DISTINCT关键字时不能删除数据行; 3.在视图不出现下列情况时可通过视图修改基表数据或插入数据: a.视图中包含GROUP 函数,GROUP BY子句,DISTINCT关键字; b.使用...

    oracle_sql使用.docx

    你必须将`column1`添加到GROUP BY子句中,因为`column1`不是组函数的一部分: ```sql SELECT column1, MAX(column2) FROM table WHERE condition GROUP BY column1; ``` 在使用CASE WHEN进行行列转换时,如果不加...

    Oracle从入门到精通

    - `SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name HAVING COUNT(*) > 10;` ##### 7.5 GROUPING函数 - **GROUPING**:用于分组查询中的特殊功能。 #### 八、高级子查询 ##### 8.1 成对子...

    oracle入门经典

    - **GROUP BY**: 对结果集按照一个或多个列进行分组。 **1.19 子查询** - **简单子查询**: 在一个查询中嵌套另一个查询。 - **相关子查询**: 外层查询的每行都需要执行内层查询。 **1.20 替换变量** - **&**: ...

    oracle sql精华.docx

    SELECT SUM(quantity) FROM A GROUP BY TRUNC(created_date + (ADD_MONTHS(created_date, 1) - created_date - 20), 'MM'); ``` - **知识点解析:** - `ADD_MONTHS()` 函数:此函数用于获取给定日期之后的指定...

    oracle常用的sql

    group by b.tablespace_name, b.file_name, b.file_id, b.bytes order by b.tablespace_name; ``` - **功能**: 查询每个表空间的使用情况和剩余空间。 - **解释**: 此命令通过联合`dba_free_space`和`dba_data_...

    2009达内SQL学习笔记

    [Group by group_by_expression] [Having group_condition] …… [Order by column]; --最后 三、常用简单语句: clear screen:清屏 edit:编辑刚才的一句。 desc/describe:(列出所有列名称) 用法: ...

Global site tag (gtag.js) - Google Analytics