2 qjj2012 qjj2012 于 2016.03.31 18:48 提问

oracle distinct、group by、union all叠加使用报错

分组聚合条件下,计算xjh不重复的记录条数以及所有记录条数:
with a as(
select '2012' xn,'a'xxdm,'x1' xjh from dual
union all
select '2012' xn,'a'xxdm,'x1' xjh from dual
union all
select '2012' xn,'a'xxdm,'x2' xjh from dual
union all
select '2012' xn,'a'xxdm,'x3' xjh from dual
)
select xn,xxdm,count(distinct xjh)rs
from a
group by xn,xxdm
union all
select xn,xxdm,count( xjh)rs
from a
group by xn,xxdm

在oracle 中执行报错:ora-03113 :通信通道的文件结尾
但删除union all 之后的语句,可正常显示,或删除count()中的distinct 也可执行

求大神指教。
图片说明

2个回答

caozhy
caozhy   Ds   Rxr 2016.04.01 07:11
CSDNXIAOC
CSDNXIAOC   2016.03.31 18:52

基础知识

一、子查询

select * from kb_qyb where qybh in ('000000000830359','000000000572791')
select * from kb_qyb where qybh in (select qybh from kb_ssmx)
select * from kb_qyb where qybh not in (s......
答案就在这里:SQL Server 学习(1)子查询(in,not in)、多表查询、合并表(union、union all)、分组(group by)、分组的条件(having)、虚拟表、标量值函数、外键
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!