ORA-00979 not a group by expression

后端 未结 8 1745
梦谈多话
梦谈多话 2020-11-21 04:33

I am getting ORA-00979 with the following query:

SELECT cr.review_sk, cr.cs_sk, cr.full_name,
tolist(to_char(cf.fact_date, \'mm/dd/yyyy\')) \"appt\",
cs.cs_i         


        
8条回答
  •  我在风中等你
    2020-11-21 05:07

    If you do grouping by virtue of including GROUP BY clause, any expression in SELECT, which is not group function (or aggregate function or aggregated column) such as COUNT, AVG, MIN, MAX, SUM and so on (List of Aggregate functions) should be present in GROUP BY clause.

    Example (correct way) (here employee_id is not group function (non-aggregated column), so it must appear in GROUP BY. By contrast, sum(salary) is a group function (aggregated column), so it is not required to appear in the GROUP BYclause.

       SELECT employee_id, sum(salary) 
       FROM employees
       GROUP BY employee_id; 
    

    Example (wrong way) (here employee_id is not group function and it does not appear in GROUP BY clause, which will lead to the ORA-00979 Error .

       SELECT employee_id, sum(salary) 
       FROM employees;
    

    To correct you need to do one of the following :

    • Include all non-aggregated expressions listed in SELECT clause in the GROUP BY clause
    • Remove group (aggregate) function from SELECT clause.

提交回复
热议问题