当前位置: 首页 > 面试题库 >

Oracle ORA-00979-“使用GROUP BY表达式”。

姚文轩
2023-03-14
问题内容

有人可以帮我这个特定的查询吗?尝试运行此命令时,我遇到了ORA-00979:

select   t0.title, count (1) as count0, (select   count (1)
      from contract c1, se se1
      where c1.c_id = se1.c_id
      and se1.svc_id = 3
      and se1.deleted = 0
      and c1.deleted = 0
      and c1.c_date between to_date ('07.10.2000', 'dd.mm.yyyy') 
                        and to_date ('22.11.2010', 'dd.mm.yyyy')
      and c1.company = 0
      and c1.tdata.tariff = c0.tdata.tariff
    ) as count1
  from contract c0, se se0, tariff t0
  where c0.c_id = se0.c_id
  and se0.svc_id = 3
  and se0.deleted = 0
  and c0.deleted = 0
  and c0.c_date between to_date ('21.11.2000', 'dd.mm.yyyy') 
                and to_date ('06.01.2011', 'dd.mm.yyyy')
  and c0.company = 0
  and t0.tariff_id = c0.tdata.tariff
  group by t0.title

问题答案:

问题是您的select count(1)零件的子查询。仅仅因为其中包含了一个计数,实际上并不能使它成为一个汇总。它仍然是一个子查询,将应用于每行,并且您可以看到它使用的值c0.tdata.tariff不属于该组。



 类似资料:
  • 问题内容: 我正在使用以下查询获取ORA-00979: 我找不到在同一查询中同时具有GROUP BY和ORDER BY子句的任何示例。我尝试一次从组中删除每个字段,但仍然遇到相同的错误。 问题答案: 你必须把的所有列的或使用的压缩结果为单一值(如对他们的功能,或)。 一个简单的示例来了解为什么会发生这种情况:假设您有一个这样的数据库: 然后你跑了。这意味着数据库必须返回第一行的结果作为第一行来满足

  • 行动时刻 - 使用正则表达式 Unlang允许在条件检查中进行正则表达式计算。这些通常是Posix正则表达式。运算符=〜和!〜与正则表达式相关联。为了简单的概念证明,我们将修改上一个练习: 1.编辑FreeRADIUS配置目录下的sites-available / default虚拟服务器,并在该部分顶部的post-auth部分中添加以下内容: if(request:Framed-Protocol

  • 主要内容:作为参数使用Lambda表达式,访问变量,方法引用在《 Java Lambda表达式》和《 Java Lambda表达式的3种简写方式》一节中我们了解了 Java Lambda 的概念并可以在匿名类的场合使用 Lambda 语法进行简单替换。本节主要介绍在 Java 中如何使用 Lambda 表达式。 作为参数使用Lambda表达式 Lambda 表达式一种常见的用途就是作为参数传递给方法,这需要声明参数的类型声明为函数式接口类型。示例代码如下:

  • 静态编程语言允许注释表达式。然而,尚不清楚这些注释如何有用以及如何使用它们。 假设在下面的示例中,我想检查一下,该字符串包含@MyExpr注释中指定的数字。这能实现吗?如何实现?

  • 本文向大家介绍Java正则表达式使用,包括了Java正则表达式使用的使用技巧和注意事项,需要的朋友参考一下 一:抓取网页中的Email地址 利用正则表达式匹配网页中的文本 将网页内容分割提取 打印结果: 867124664@qq.com 260678675@QQ.com 806208721@qq.com hr_1985@163.com 32575987@qq.com qingchen0501@12

  • 使用正则表达式 现在我们已经看了一些简单的正则表达式,那么我们实际在 Python 中是如何使用它们的呢? re 模块提供了一个正则表达式引擎的接口,可以让你将 REs 编译成对象并用它们来进行匹配。