oracle 报错ORA-00937: not a single-group group function

select t.familyname,t.givenname,t.travellerid,MAX(COUNT(DISTINCT j.departairport||j.destairport))
FROM traveller t, journey j, reservation r
WHERE t.travellerid=r.travellerid AND r.journeyid=j.journeyid
GROUP BY t.travellerid,t.familyname,t.givenname;

这是代码,实在找不到错在哪,网上也搜不到,求教教

1

1个回答

三表联合查询比较容易使结果冗余,很可能是WHERE后的条件问题。另外MAX里面和GROUP BY后面的信息不一致吧(MAX里是JOURNEY表,GROUP BY里只有TRAVELLER表)。建议拆开来写,不容易错。

0
qq_43261122
20ser 谢谢,虽然还是不太懂。。明天问老师去吧
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Oracle进阶总结(2)
Oracle知识点总结1.分组函数1) MIN 求最小值 2) MAX 求最大值 3)SUM 求和 4)AVG 求平均值 5)COUNT 求满足条件的记录数2.GROUP BY通过GROUP BY 子句可将表中满足WHERE条件 的记录按照指定的列划分成若干个小组 注意 (1).SELECT deptno, COUNT(ename) FROM emp; 错误: [Err] ORA-
关于 ORA-00937不是单组分组函数的解决办法
在项目中遇到了ora-00937 的问题,找了半天原来是聚合函数没有和group by 语句一起使用的原因, select 列表项中除了包含聚合函数外,还包含了表的某些列,那么你将必须使用group by语句,否则语法通不过。   如 以下语法是编译不通过的 select j.d_jobid,count(p.d_lineid) as "num" , j.bdrq,j.download...
ORA-00978:嵌套分组函数没有 GROUP BY /ORA-00937:不是单分组函数---解决思路
今天在操作数据库时遇到了oracle的报错,错误类型为ORA-00978/ORA-00937,经与同事讨论研究之后发现一个特别容易犯错的点。 首先,我的目的是从一个表中取出一列数值,然后对这一列数值进行求和并平均 取数SQL为:select b.vendor from t_cm_networknode b where b.vendor is not null 求和并平均SQL为:select...
怪问题ORA-00937: not a single-group group function
程序在换一个数据库后出错(ORA-00937: not a single-group group function),数据库都是oracle10,查了下是,执行:rnselect count(*) as intcount from usermenurights b where 1=1rn报错,换了 intcount 别名或不用别名都不行。rn后来又试了下执行rnselect count(*) as intcount from usermenurights brn可以。rnrn但这两个语句在plsql中执行都正确,程序采用delphi 的adoquery连接数据库开发,没切换数据库前正常rnrn求解,各位高手
Oracle常见错误及解决方案汇总
(原创作者:陈玓玏) 这篇文章主要是记录一些工作中常常会碰到的错误跟解决方案,汇总到一起,方便查询。 1、 错误提示ORA-00933: SQL command not properly ended in? 可能的原因: 1)语句写的顺序不正确,比如WHERE语句写在了GROUP BY后面; 2)使用了含有ORDER BY或INNER JOIN子句的INSERT、DELETE语句; ...
not a single-group group function
我的语句是:rnselect SJKFUDA.RTM_WEATHER_D.TIMESTAMP as 日期,rnmax (SJKFUDA.RTM_WEATHER_D.AIR_TEMPERATURE) as 最大值,rnmin (SJKFUDA.RTM_WEATHER_D.AIR_TEMPERATURE) as 最小值,rnavg (SJKFUDA.RTM_WEATHER_D.AIR_TEMPERATURE) as 平均值rnfrom SJKFUDA.RTM_WEATHER_Drnrn加上日期字段就报错,怎么解决啊!rn急!谢谢了
虚心求教一个异常的解决方案: ORA-00937: not a single-group group function
[code=SQL]rn select car.carton_no,car.carton_weight,car.update_time, nvl(count(box.packing_box_sys_id), 0) PACKED_BOX_NUMrn from PACKING_BOX box, PACKING_CARTON carrn where box.PACKING_CARTON_SYS_ID = car.PACKING_CARTON_SYS_IDrn and car.CARTON_NO = 'CN0GH911708218CF02P7'rn and box.STATUS = '1' [/code]rnrnrnrn注 : 按理说上面的语句查出来应该只有一条数据rnrn现在报了这个异常 实在苦于经验不足 请大侠们指点下。rnrn异常消息: ORA-00937: not a single-group group function
oracle报“not a single-group group function”
select DXBS,avg(1 - round(sqrt(sum((FHYC_SB - FHYC_TQ) / nullif(FHYC_TQ, 0) *rn(FHYC_SB - FHYC_TQ) / nullif(FHYC_TQ, 0) ) / 96),10)) ZQLrnfrom mw_app.PM_BZ_DC_FHYCFZSJ where rnto_char(t_id,'yyyy-MM')=to_char(:YF,'yyyy-MM') GROUP BY DXBSrn rn我执行这条sql语句报“not a single-group group function” 请问这是什么原因
ORA-00937: 不是单组分组函数
今天在java中拼接sql时犯了一个很低级的错误,sql语句拼接好以后,查询总是报ORA-00937: 不是单组分组函数,检查了好久都没没有找到错误的原因,在控制台打印的sql语句放到pl/SQL中执行也没错,但死活在junit测试的时候报ORA-00937的错误,忽然灵感来了,发现原来是我往dao中设置拼接好的sql语句不完整,group by子句和order子句都没有拼接到sql语句中。  ...
not a single-group group function,这是甚么原因?
ADOQuery1的SQL中写入select sum(je) as num from TABLENAME 然后OPEN(),就出这个错误,不知道为什么?我用的BCB6.0,ORACLE9i数据库,请高手赐教,谢谢
oracle 内部函数 wmsys.wm_concat 使用报错
ORA-00932: inconsistent datatypes: expected - got CLOB如果你在sql语句中使用了wm_concat,那么你需要注意了,这个函数是oracle的内部函数,其中有的版本安装了 ,有的版本没有安装,所以尽量少使用这个函数,当然,在使用了这个函数的时候报错了,我们需要对其进行转换,因为类型问题导致了上面的报错。所以可以在wm_concat外围加一个to...
关于max和“not a single-group group function”问题
本人在开发一个小程序,在oracle worksheet中可执行如下词句:rnselect to_char(tt.recording_date,'yyyy-mm-dd') as recording_date,to_char(tt.time_point,'HH24:mi') as time_point,max(u.user_name) as user_name from founding_vital_signs_rec_temp tt, users u where tt.patient_id = '296536' and tt.visit_id = 1 and recording_date >= to_date('2007-05-01','yyyy-mm-dd') and recording_date <= to_date('2007-07-01','yyyy-mm-dd') and tt.exec_operator || tt.edit_operator = u.user_id and tt.edit_flag <> 1 group by tt.recording_date,tt.time_pointrnrnrn但我在PB中生成query时,若加上上面的max函数,则该query报错“not a single-group group function”,但若去掉max函数,则记录数成倍增加,不是本人的本意,即加上max函数,则u.user_name字段内容相同时,本语句只显示一条记录,但若去掉max函数,则会增加若干条u.user_name字段内容相同的记录???rnrnrn能告诉我是自动回事吗??
(十)Java设计模式之代理模式
在阎宏博士的《JAVA与模式》一书中开头是这样描述代理(Proxy)模式的:  代理模式是对象的结构模式。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。      代理模式的结构      所谓代理,就是一个人或者机构代表另一个人或者机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。  代理模式类图
关于MySQL中的group_concat()改为Oracle中的wmsys.wm_concat()函数不能使用,无法使用问题的最终解答,包括去重解答
今天我在将我们的连接的MySQL的项目改成连接Oracle项目的时候,也是正在更改SQL的时候,发现了一个问题,就是将MySQL中的group_concat()更改为wm_concat()的时候,发现wm_concat()已经不起作用了 而已这个问题浪费了我很多时间,所以今天写了这个博客,希望能早日解决其他更多朋友的问题 在此我要声明,WMSYS_CONCAT()只适用于oracle10.0及...
ORA-00937:不是单组分组函数
例子: SELECT COUNT(*) BZC144, NVL(SUM(BCF125), 0) BZC145, CF11.AAA020 FROM CF11, CF12 WHERE CF11.BCF110 = CF12.BCF110 AND CF11.AAE100 = '1'; 在Oracle中PLSQL执行上面的语句就会出现,ORA-00937:不是单组分组函数. 原因是: 数据中有这么一...
Oracle:对行进行分组GROUP BY
GROUP BY 将行分组为多个部分 注意: 1.如果查询中包含聚合函数,而所选择的列并不在聚合函数中,那么这些列就必须在GROUP BY字句中,否则会出现错误:ORA-00937:not a single-group function.select AVG(id),id_type from test; ORA-00937:not a single-group function.分析:这个查询
是不是Delphi使用ADO的BUG? "not a single-group group function"
用ADOQueryrnrnwith ADOQuery dornbeginrn close;rn sql.clear;rn sql.add('select count(*) from user_a.v_pase where pid=:pid');rn Parameters.ParambyName('pid').Value := '99999';rn open;rnend;rnrn在open时提示出错:rn "not a single-group group function"rn是什么原因?
使用MySQL数据库的查询功能时,如何解决Invalid use of group function的问题
在使用MySQL数据库时,经常会遇到一个错误提示:Invalid use of group function。意思是没有正确使用group function。当查询的结果指代不明,或者和接受结果的变量数据类型不匹配时,都会导致这个错误提示。因此,遇到这个错误时,首先就考虑这两个地方有没有出问题。 代码示例: -- 原来的代码 DELIMITER $ CREATE PROCEDURE tes
分组函数嵌套
分组函数嵌套  select max(avg(sal))  from emp  group by deptno; 1.分组函数嵌套必须有group by 子句 2.having子句后面不能有好几个组函数嵌套,只能使用一个组函数
Oracle报错:不是单组分组函数
sql语句进行分组查询,存在聚合函数 原因:sql 的group by 语句有问题 解决办法:检查group by 后的语句,需要将语句中的非聚合函数部分写到group by中
tp5报错笔记(1)
碰到错误的时候没有记录,都是后面看日志的时候回想的,如果有描述错误的请指出来,我改正.谢谢!   error: Provisional headers are shown 错误原因:ajax上传表单文件是没有关掉默认的表单请求, 解决方法:ajax请求后加return false; error: SQLSTATE[22001]: String data, right truncated:...
oracle中rownum与group by一起使用时注意事项
oracle中rownum与group by一起使用时 select t.row1, sum(t.row2) from table t where rownum &amp;amp;lt;6 group by t.row1 会先执行rownum &amp;amp;lt;6 然后对这5条数据进行group by,这样最终结果可能就会少于5条。 呵呵。。。 ...
使用oracle函数 LISTAGG 函数报错。ORA-00923: 未找到要求的 FROM 关键字
ORA-00923发生的原因之一是: LISTAGG(event, ‘;’) WITHIN GROUP(ORDER BY opttime)函数中分隔符为英文分号。 这算是oracle函数的一个小BUG吧。 除去英文分号外其它字符暂时没有发现问题。 ...
TimesTen 应用层数据库缓存学习:4. 只读缓存
在运行本文例子前,首先先执行TimesTen 应用层数据库缓存学习:2. 环境准备中的操作。Read-only Cache Group的概念只读缓存组如下图: 只读缓存组(Read-Only Cache Group)的cache table不能直接修改,在Oracle数据库中的数据更新后自动同步到Timesten。 只读缓存的原理是对Oracle中需要缓存的表建立触发器来捕捉其变化 For
Laravel中使用GroupBy时报错
今天在做项目时,获取数据返回列表时发生报错: Syntax error or access violation: 1055 'cpoem.user_sign.addtime' isn't in GROUP BY (SQL: SELECT addtime,flag FROM user_sign WHERE uid = 56 AND type = 0 AND addtime &amp;gt; 15251040...
SPARK 常见问题及解决
1 spark sql group by   org.apache.spark.sql.AnalysisException: expression 'getbyid.userId' is neither present in the group by, nor is it an aggregate function. Add to group by or wrap in first() (or f...
Oracle出现不是group by 表达式的原因
Oracle不是group by 表达式的原因
oracle中group by语法一直报不是group by表达式
select mo.organ_id orgId,--专员所属三级机构       mo.abbr_name orgName,       md2.departid group2Id,--专员所属部       md2.departname group2Name,       md3.departid group3Id,--专员所属组       md3.departname group3Name...
jQuery在HTML里可用,在jsp中报错$ not is a function 的解决办法
当把HTML的代码粘贴到jsp里时,发现jQuery的方法不可用,页面F12查看,报错$ is not a function(),原因是因为jQuery里有$符号,jstl里也有$,因此jsp无法辨认,导致报错。解决方法还有挺多种,由于我不是做前端的,太高深的看不懂,就用了最简单的方法把$替换成jQuery...
JQuery 基本方法报错:... is not a function的问题
是否碰到过类似问题(前提是正确引入了JQuery) 看图说问题<input type="file" name="pic1" id="pic1" onchange="preview(this)" multiple="multiple">其实是:JQuery选择器得到的元素对象,和JavaScript获取元素对象 的问题上面两张图是我对 input元素的获取,使用的两种方式,pic1用的是原生JS
Oracle 等中的 group by与where 子句不能使用别名的原因与解决办法
下面的语句执行的话会报错:ORA-00904: "CALLT": 标示符无效 select case when ta.call_time = 0 then 0 when ta.call_time &lt;= 6 and ta.call_time &gt; 0 then 1 when ta.call_time &lt;= 60 and ta.call_time &gt; 6 th...
js点击事件报错 not a function
js 点击事件 报错 Uncaught TypeError: submit is not a function
oracle 分组函数与group by正确用法详解与详细解释
oracle数据库 分组函数与group by正确用法详解与详细解释 1.查询时同时查询了分组函数列和非分组函数列就需要使用group by,但是仅仅查询分组函数列可以不结合group by使用。 SQL> select TABLESPACE_NAME,sum(user_bytes/1024/1024) from dba_data_files; ERROR at line 1: ORA
Oracle中decode函数以及group by中不能跟as别名分组
       公司的项目从mysql换到了Oracle,在sql语句中有这样一个if(isnull(字段),' ',字段) ,if在Oracle中存储过程中可以用到,单独拿出来并没这样的函数,运用在Oracle中改成了decode函数(如果字段值是空的话,则置为空,否则正常显示,),decode(字段,null,' ',字段),或则改成case when then这种形式。       Orac...
[简单]oracle group by问题解决记录
       同事写了个SQL,发现group by之后总数不对,不用group by查询有26条数据,使用group by查询总数只有16条数据,同事写的sql类似如下:         select t.sec_id,t.type_t,t.prod_id,t.amt_num from tmp_t t group by t.sec_id,t.type_t,t.prod_id,...
本地能运行,服务器上报错$(..).xx is not a function
本地能运行,引入顺序都没问题,放到PHP服务器上就不能运行,报错$(..).carouFredSel is not a function,调用不到插件里的方法 试了好久,不是没有引用jQuery,不是引用顺序错了,等等网上很多的原因,而是冲突了 在使用方法之前写一个jQuery.noConflict();在前面就行了 $(function(){ jQuery.noConflict
关于页面报bootstrapValidator is not a function错误的解决方法
被这个问题困扰了好几天,在最近做的项目中发现的问题。和别人一起交流了好久也没发现问题出在哪里。 最后发现是由于我在父页面引入的一个JSP造成的—我在父页面已经引入了jquery和bootstrap相关的文件然后又在include文件里引入了一次
引入plugins.js插件中引入 jQuery 时,浏览器报错 “$ is not a function ”
$(document).ready(function(){ // jQuery code is in here 此处的代码均使用了$ });报错:“$ is not a function ”plugins插件中引入 jQuery 时,您必须使用 jQuery,并且不使用 $(这是为了与其他库兼容)最终将使用$的地方,全部替换换为jQuery,解决了这个错误 jQuery(function(...
【oracle】数据库简单操作——group by
我有一个students表,有id,name,gender(性别)三个字段;其中有5个学生; 一、查询students表; 1、通过desc students命令查询表结构如下: 2、通过select * from students命令,结果如下; 二、group by 1、现在讲怎么使用分组(Group By column_name),大小写不区
three.js学习笔记 obj模型加载问题
three.js最新版本'75'相较以前使用的'71'版本obj模型加载的方法发生了变化。 移除了OBJMTLLoader.js,并将原来OBJLoader.js和MTLLoader.js加载方法loader.setCrossOrigin更改为loader.setPath。