oracle 问题,下面的SQL了,怎么改好来啊??我调一好,希望有人帮帮我

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 问题,下面的SQL了,怎么改好来啊??我调一好,希望有人帮帮我相关的知识,希望对你有一定的参考价值。

select decode(rownum,1,sum(CANCEL_NUM)),
CT_DATE,TOKEN_TYPE,ENABLED_NUM,TOKEN_NUM,ENABLED_TOTAL_NUM,DISABLE_TOTAL_NUM
from
CEB_TOKEN_STATUS
group by CT_DATE,TOKEN_TYPE,ENABLED_NUM,TOKEN_NUM,ENABLED_TOTAL_NUM,DISABLE_TOTAL_NUM
ORA-00979: not a GROUP BY expression

decode(rownum,1,sum(CANCEL_NUM)) 不在group by里面,你是要在第一行显示sum(CANCEL_NUM)是吗?
改成:
select case when rownum=1 then b.sum else 0 end, CT_DATE, TOKEN_TYPE, ENABLED_NUM, TOKEN_NUM, ENABLED_TOTAL_NUM, DISABLE_TOTAL_NUM
from
CEB_TOKEN_STATUS a, (select sum(CANCEL_NUM) sum from CEB_TOKEN_STATUS) b
group by CT_DATE,TOKEN_TYPE,ENABLED_NUM,TOKEN_NUM,ENABLED_TOTAL_NUM,DISABLE_TOTAL_NUM
参考技术A select decode(rownum,1,sum(CANCEL_NUM)),
CT_DATE,TOKEN_TYPE,ENABLED_NUM,TOKEN_NUM,ENABLED_TOTAL_NUM,DISABLE_TOTAL_NUM
from
CEB_TOKEN_STATUS
group by CT_DATE,TOKEN_TYPE,ENABLED_NUM,TOKEN_NUM,ENABLED_TOTAL_NUM,DISABLE_TOTAL_NUM,rownum
这样写没有语法错误,好像没什么意义
参考技术B 前面出现了rownum,但是group by 没有这个
当然 如果group by rownum了 也失去意义了
不理解你的本来想法 没法帮你改
参考技术C 分组函数Group BY是用来汇总分组的。你的select的值没有Sum,也没有Max/min。

select max(Decode。。。。)试试
参考技术D 不能用rownum,你是要查分组后的每组的第一个CANCEL_NUM值么?

请问oracle中scott用户都有哪些可供练习的表?怎么查询呢

参考技术A 以scott用户登陆,执行下面的sql可以查看改用户下面的所有表
select * from user_tables
参考技术B 主要是emp,deptno,这两张够你练手了
用scott用户登陆
select * from tab;
参考技术C sqlplus下
conn scott/tiger
select * from tab;

结果
TNAME TABTYPE CLU
------------------------------ ------- ----
DEPT TABLE
EMP TABLE
BONUS TABLE
SALGRADE TABLE本回答被提问者采纳
参考技术D 练习什么?自己建表练呗

以上是关于oracle 问题,下面的SQL了,怎么改好来啊??我调一好,希望有人帮帮我的主要内容,如果未能解决你的问题,请参考以下文章

oracle 视图sql语句怎么写

怎么判断sql server中某字段含空格

Oracle PL/SQL 下面的代码为啥出错啊!提示CASE与WHEN见出现不匹配字符,急!

Oracle vm virtualbox centos6.3安装完了,但是 启动时忘记了账户密码怎么修改啊

怎么样改谷歌浏览器的设置啊

oracle 为啥汉字变成了问号,怎么改,如下图