ORA-00979:不是12.1.0.2中的GROUP BY表达式

时间:2017-03-06 16:55:56

标签: sql oracle

我们在12.1.0.2 db中运行查询时遇到错误。请提供一些反馈。

  

   Public Class IEmailSender
    {
       Public Void SendEmail();
    }
    Public Class SMTP: IEmailSender
    {
        Public Void SendEmail()
        {
             // Send Email Logic using SMTP
        }
    }
    Public Class OtherSender: IEmailSender
    {
        Public Void SendEmail()
        {
             // Send Email Logic for Other Sender
        }
    }
    Public Class Builder
    {
      Public Static IEmailSender CreateBuilder(string senderType)
         {
              if(senderType.Equals("SMTP"))
               {
                   Return New SMTP();
               }            
            ElseIf(senderType.Equals("OTHER"))
              {
                     Return New OtherSender();
              }
         }
    }

SQL> ED 写了afiedt.buf文件

1 个答案:

答案 0 :(得分:0)

默认情况下,未启用按顺序分组。您必须将_sql_compatibility设置为1

  select deptno, sum(sal)
  from emp
  group by 1
  order by 1
SQL> /
select deptno, sum(sal)
       *
ERROR at line 1:
ORA-00979: not a GROUP BY expression

alter session set "_sql_compatibility"=1

Session altered.

select deptno, sum(sal)
from emp
group by 1
order by 1

SQL> /

    DEPTNO   SUM(SAL)
---------- ----------
        10       8750
        20      10875
        30       9400