首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么这个不起作用?ORA-00979:不是按表达式分组

ORA-00979是Oracle数据库的一个错误代码,表示在执行SQL查询时,使用了GROUP BY子句但未正确按照表达式进行分组。

出现ORA-00979错误的原因可能有以下几种情况:

  1. SELECT语句中的列没有在GROUP BY子句中出现:在使用GROUP BY子句进行分组时,SELECT语句中的列必须要么出现在GROUP BY子句中,要么是聚合函数(如SUM、COUNT等)。如果有列未在GROUP BY子句中出现,就会导致ORA-00979错误。
  2. SELECT语句中的表达式没有在GROUP BY子句中出现:除了列名外,如果在SELECT语句中使用了表达式(如函数、计算等),也需要在GROUP BY子句中进行相应的分组。如果表达式未在GROUP BY子句中出现,同样会导致ORA-00979错误。
  3. GROUP BY子句中的表达式与SELECT语句中的表达式不一致:如果在GROUP BY子句中的表达式与SELECT语句中的表达式不一致,也会引发ORA-00979错误。在进行分组时,GROUP BY子句中的表达式必须与SELECT语句中的表达式一致。

解决ORA-00979错误的方法是确保在使用GROUP BY子句时,所有的列和表达式都正确地出现在GROUP BY子句中,并且与SELECT语句中的列和表达式一致。

腾讯云提供了一系列的数据库产品,其中包括云数据库 TencentDB for MySQL、TencentDB for PostgreSQL、TencentDB for MariaDB等,可以满足不同场景下的数据库需求。您可以根据具体的业务需求选择适合的数据库产品。更多关于腾讯云数据库产品的信息,请访问腾讯云官方网站:https://cloud.tencent.com/product/cdb

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

组函数及分组统计

语法格式 SELECT {DISTINCT}*|查询列1 别名1,查询列2 别名2…… FORM 表名称1 别名1,表名称2 别名2,…… {WHERE 条件表达式} {GROUP BY 分组条件}...统计每一个部门的最高工资,以及获得最高工资的雇员姓名 假设写成 SELECT ename,max(sal) FROM emp GROUP BY deptno Oracle会提示第 1 行出现错误: ORA...-00979: 不是 GROUP BY 表达式 以上代码在运行过程中出现错误,是由于: 1....这样能够将分组条件一起查询出来 假设不使用GROUP BY,则仅仅能单独地使用分组函数 2.使用分组函数时,查询结果列不能出现分组函数和分组条件之外的字段 综上所述,我们在进行分组统计查询时有遵循这样一条规律...) from emp group by deptno; 第二步: select deptno, max(avg(sal)) from emp group by deptno; ORA-00937: 不是单组分组函数

1.5K20

SQL 聚合查询

SQL 为什么要支持聚合查询呢? 这看上去是个幼稚的问题,但我们还是一步步思考一下。...另外聚合本身也有一定逻辑复杂度,而 SQL 提供了聚合函数与分组聚合能力,可以方便快速的统计出有业务价值的聚合数据,这奠定了 SQL 语言的分析价值,因此大部分分析软件直接采用 SQL 作为直接面向用户的表达式...多字段分组聚合 GROUP BY 可以对多个维度使用,含义等价于表格查询时行/列拖入多个维度。 上面是 BI 查询工具视角,如果没有上下文,可以看下面这个递进描述: 按照多个字段进行分组聚合。...因此 GROUP BY + WHERE 并不是在组内做筛选,而是对整体做筛选。...总结 聚合函数 + 分组可以实现大部分简单 SQL 需求,在写 SQL 表达式时,需要思考这样的表达式是如何计算的,比如 MAX(c1), c2 是合理的,而 SUM(c1), c2 这个 c2 就是无意义的

2.4K31
  • 自定义HScript Expression Functions

    当我需要使用Expression Functions来写表达式的时候,比如stamp函数,我试图想通过一种通用的理念站在编程的角度来表述如何使用它,而不是依靠惯性记忆来使用它。...为了直观地描述这一点,我们自己来定义一些表达式函数,即自己设定一些源代码,这个自定义的黑盒子对于我们来说已经不是秘密,演示表达式函数运转的原理足够了。...按图示选择菜单Edit>Aliases and Variables,点击Expressions选项,输入一个求矢量元素最小值的函数,Apply Changes就会将这个表达式函数存储到当前的hip文件中...,在参数面板规则调用就没有问题。...exread 从文件中加载表达式函数 exrm 删除自定义表达式函数 这里的自定义表达式函数有个很大的缺点,不能写完在所有Houdini环境中使用,换个hip文件就不起作用,官方在很多表达式函数的使用上都使用了

    72350

    正则表达式“派别”简述

    但是,我们在使用linux下的文本处理工具如awk、sed等时,正则表达式的语法貌似还不一样,在awk中能正常工作的正则,在sed中总是不起作用,这是为什么呢?...当然这个过程本身也是很精彩的,我这里抛砖引玉,希望对大家正确使用正则表达式有所帮助。...插播一下,这个Kleene可不是凡人,大家都知道图灵是现代人工智能之父,那图灵的博导是Alonzo Church,提出了lambda表达式,而Church的老师,就是Kleene了。...这三个元符号,并且可以在分组中使用*,分组可以直接写成(...),同时用\1,\2...来引用分组。...现在的编程语言中的正则表达式,大部分都属于PCRE这个分支。 下面分别所说这两个分支。

    50010

    正则表达式入门 — 一个通过例子来说明的备忘单

    标志 我们正在学习如何构建一个正则表达式但是却忘记了一个基础的概念:标志。 一个正则表达式的格式通常是这个样子的 /abc/,搜索模式通过两个斜杠符 / 进行区分。...i (大小写不敏感的) 让整个表达式大小写不敏感(比如 /aBc/i 将匹配 Abc) 中级知识点 分组以及捕获 — () a(bc) 括号产生一个值为 bc 的捕获分组...: 让捕获分组不起作用->[试一下!](https://regex101.com/r/cO8lqs/12) a(?bc) 我们可以使用 ?...r) 匹配一个 `d` 并且其后不是一个 `r`, 但是 `r` 将不会是整个正则表达式匹配的一部分-> [试一下!]...r)d 匹配一个 `d` 并且前面不是一个 `r`, 但是 `r` 将不会是整个正则表达式匹配的一部分-> [试一下!]

    1.8K20

    积木报表·JimuReport 1.3.64 版本发布,免费的企业级可视化报表工具

    ,支持分组内小计,支持设置分组字段排序、动态补数据等 新版导出pdf功能重构,支持表达式、字体样式、背景、套打、交叉表头 字典表名改成jimu_*前缀,与系统表区分 超链接颜色跟随字体颜色走 不设置默认蓝色... I3NZF8 sql数据集中SQL解析失败问题 I3NCM7 使用函数希望支持单元格拖拽选择 I3SZPP SpringBoot 2.5.0 集成后数据库未初始化 I3TD7G springboot文档集成报错...#318 首页分页问题 #291 使用多数据对比柱状图时,如果查询条件后图表重叠 #305 表格中存在负数,合计的时候,设置两位小数不起作用,而且数据不正确 #293 1.3.1-beta4 API数据源...永久免费,支持各种复杂报表,并且傻瓜式在线设计,非常的智能,低代码时代,这个是你的首选!...支持分组、交叉,合计、表达式等复杂报表 支持打印设计(支持套打、背景打印等)可设置打印边距、方向、页眉页脚等参数 一键快速打印 同时可实现发票套打,不动产证等精准、无缝打印 大屏设计器支持几十种图表样式

    1.2K20

    免费的可视化Web报表工具,JimuReport v1.5.0版本发布

    重点功能 修复fastjson漏洞 重构pdf导出 Issues处理 报表导出时,出现错误,去掉样式#I52O77 查询条件下拉单选的占位文本描述显示不正确#966 查询条件,文本框提示信息没有是字段名不是字段文本...|导出#938 勾选多条字典记录后点击删除,被删除的记录依然存在于字典列表中#910 增强js可以展开收起查询条件区域#I4YGJI 错误信息提示几行几列#I4Z8V9 百分比格式化结果设置2位小数,不起作用...技术文档 体验官网: http://jimureport.com 快速集成文档 :http://report.jeecg.com/2078875 技术文档: http://report.jeecg.com 为什么选择...永久免费,支持各种复杂报表,并且傻瓜式在线设计,非常的智能,低代码时代,这个是你的首选!...支持分组、交叉,合计、表达式等复杂报表 支持打印设计(支持套打、背景打印等)可设置打印边距、方向、页眉页脚等参数 一键快速打印 同时可实现套打,不动产证等精准、无缝打印 大屏设计器支持几十种图表样式,

    59740

    SQL中order by的高级用法

    导读 为什么只有ORDER BY后面可以使用列别名 为什么不推荐使用ORDER BY后接数字来排序 为什么视图和子查询里面不能使用ORDER BY …… 小伙伴们在进行SQL排序时,都能很自然的使用到...Student(ID,Name,Age) Student集合 但是对于带有排序作用的ORDER BY子句的查询,它返回的是一个对象,其中的行特定的顺序组织在一起,我们把这种对象称为游标。...SELECT 客户ID AS ID, 姓名 AS Name, 地址 AS Address, 城市 AS City FROM Customers ORDER BY ID,Name,Address 结果如下: 这个错误是不是很熟悉...五、T-SQL中表表达式加了TOP可以使用ORDER BY 我们从第四点的报错信息中可以看到:在另外还指定了 TOP、OFFSET 或 FOR XML是可以使用ORDER BY的。 这又是为什么呢?...这里的ORDER BY只对当前的子查询生效,到了主查询是不起作用的。必须在主查询末尾继续添加一个ORDER BY子句才能对结果集生效,就像我们例子中写的那样。

    9710

    除了会排序,你对ORDER BY的用法可能一无所知!

    导读 为什么只有ORDER BY后面可以使用列别名 为什么不推荐使用ORDER BY后接数字来排序 为什么视图和子查询里面不能使用ORDER BY …… 小伙伴们在进行SQL排序时,都能很自然的使用到...Student集合 但是对于带有排序作用的ORDER BY子句的查询,它返回的是一个对象,其中的行特定的顺序组织在一起,我们把这种对象称为游标。...这个错误是不是很熟悉?因为很多小伙伴经常喜欢在视图或子查询里面加ORDER BY,然后一执行就会报这个错。 根本原因不敢妄加断定,因为搜寻了很多文献资料也没给出一个具体的说法。...这又是为什么呢?...而不保证结果集的排列顺序,因为表表达式外面至少还有一层才是我们最终需要的结果集。 这里的ORDER BY只对当前的子查询生效,到了主查询是不起作用的。

    2.3K30

    Go 的最佳正则表达式替代方案

    介绍 “不要使用正则表达式,否则你会遇到 2 个问题,而不是 1 个” ——专家是这么说的。对于那些想要有效地搜索大量模板的淘气者来说,还剩下什么呢?...我找到了作者比较各种语言的标准正则表达式引擎性能的项目。该基准测试的重点是对预定义文本重复运行 3 个正则表达式。Go在这个基准测试中排名第三!...对正则表达式进行分组时,处理速度有多快? 处理文本中没有匹配项的正则表达式的速度有多快? 不同的库使用多少内存? 使用分组我可以编译多少个正则表达式? 2....这就是为什么我认为应该可以从实际的角度评估库的不同参数。...下面,我提供了每个单独的正则表达式的结果以及消耗的内存总量: 下图显示了库处理10 个正则表达式(如上一个测试)所使用的内存,“非数学”时间排序: 结论: Rure令人惊讶的是它几乎为零的内存消耗

    1.5K40

    SQL命令 ORDER BY(一)

    如果在SELECT列表中没有指定列别名,则在指定聚合函数、窗口函数或表达式时,使用选择项列号(例如3),而不是默认的列名(例如Aggregate_3)。...如果为列指定的排序规则是字母数字的,则前导数字将字符排序顺序而不是整数顺序排序。 可以使用%PLUS排序函数整数顺序排序。 但是,%PLUS排序函数将所有非数字字符视为0。...街道名由两个部分组成,中间用一个空格隔开。 比较下面两个例子。...; 在这个序列中,它降序对第7个列出的项(J)值进行排序; 在其中,它升序对第一个列出的项(A)值进行排序。...ORDER BY值列表中的重复列不起作用。 这是因为第二种排序在第一种排序的顺序之内。 例如,ORDER BY Name ASC、Name DESC升序对Name列进行排序。

    2.6K30

    正则表达式-分隔符示例

    说明 文本中经常需要匹配分隔符内的内容,像程序中的注释以/*开头,*/结尾;双引号""内的字符等,我们今天以这个例子来一步步的构建这个正则表达式 我们以""来作示例 一 凭直觉 可以简单写为"[^"]*...=\\)")*" 三 转义字符 对于上面的表达式,我们如果匹配 "hello there \\" else "hello world" 上面例子匹配到else后的",问题是\是被转义的,匹配到这里是不对的...如果我们使用占有优先量词和固化分组更好一点,这样在三中出现的问题就没有问题了,因为占有优先量词在回溯时不会交还字符,而是直接报错. "(\\.|[^"])*+" \\.匹配的字符不会交还,就不会出问题...>(\\.|[^"])*)" 这两种应该都可以 七 总结 总结两点 1:要深刻理解回溯,多选结构匹配出来的结构可能并不是我们想要的。...2:多写注释,后面自己都忘了当时为什么要写这么复杂了,其实写完再看四或六中的表达式对于当时是怎么思考的已经忘的差不多了,但是文档却会让我们的思考变得有迹可循。

    3K20

    MySQL 查询专题

    这个WHERE子句就是 ISNULL 子句。 NULL 关键字 NULL 无值(no value),它与字段包含0、空字符串或仅仅包含空格不同。...换句话说,在建立分组时,指定的所有列都一起计算(所以不能从个别的列取回数据)。 ❑ GROUP BY子句中列出的每一列都必须是检索列或有效的表达式(但不能是聚集函数)。...你可以使用 ASC 或 DESC 关键字来设置查询结果是升序或降序排列。 默认情况下,它是升序排列。...这些问题不是理论问题,其答案取决于数据库的设置方式。 limit 关键字 行0 检索出来的第一行为行 0 而不是行 1。因此,LIMIT 1, 1 将检索出第二行而不是第一行。...这样做仅给构造查询增加了一点点时间,但节省了以后(找出查询为什么不正常)的大量时间,并且极大地提高了查询一开始就正常工作的可能性。

    5K30

    27 个问题,告诉你Python为什么这么设计

    目录 为什么Python使用缩进来分组语句? 为什么简单的算术运算得到奇怪的结果? 为什么浮点计算不准确? 为什么Python字符串是不可变的? 为什么在方法定义和调用中显式使用“self”?...Guido van Rossum 认为使用缩进进行分组非常优雅,并且大大提高了普通Python程序的清晰度。大多数人在一段时间后就学会并喜欢上这个功能。...为什么必须在方法定义和调用中显式使用“self”? 这个想法借鉴了 Modula-3 语言。出于多种原因它被证明是非常有用的。 首先,更明显的显示出,使用的是方法或实例属性而不是局部变量。...为什么不能在表达式中赋值?...为什么lambda表达式不包含语句? Python的 lambda表达式不能包含语句,因为Python的语法框架不能处理嵌套在表达式内部的语句。然而,在Python中,这并不是一个严重的问题。

    6.7K11

    正则表达式介绍

    但是,如果文本是_"Project virgilio is great",那么你的正则表达式不起作用,因为正则表达式默认情况下是区分大小写,因此应该完全匹配所有内容。...可以在正则表达式中使用.来捕获可能在那里使用过的任何字符,只要我们仍在同一行中。也就是说,.不起作用的唯一地方是我们改变了文本中的行。想象一下这个模式是 d.ck。..." ,因此正则表达式 [^d]uck 将匹配任何包含 uck 的字符串,只要它不是 "duck" 这个词。...因此,正则表达式的功能是 组 。通过对正则表达式的某些部分进行分组,您可以执行诸如使用重复运算符之类的操作,然后 检索其信息。 要进行分组,只需要使用 () 括号。...这一点是,如果您知道正则表达式如何工作,则只能打印正则表达式匹配的字符串。尝试从仅实现文字匹配和 | 和 ? 运算符开始。你现在可以包括分组 () 以便 (ab)? 能预期工作吗?

    4.9K00

    加强版正则表达式,邮箱,手机号防呆好用得不得了

    4、支持命名分组,条件表达式,递归表达式,零宽断言…等多种高级特性。...Replace 这个方法用于替换在正则表达式搜索中找到的文本。 Test Test方法对字符串执行正则表达式搜索,并返回一个布尔值说明匹配是否成功。...通过该集合可以获取匹配到的各个命名分组结果。 Value 匹配对象所匹配的值。 Named * 通过命名分组的名字来获取匹配到的结果。...pattern * 可选参数,设置正则表达式。如果RegExp.pattern 属性中已设置那么这个参数可忽略,如果两者同时设置,将会选用本参数的表达式进行匹配。...当您设置了该参数的值后 IgnoreCase、Singleline、Global、Multiline、RightToLeft、Extended这6个属性的设置就不起作用了。

    95720
    领券