有一张表
aa bb cc
1 a 1
2 b 0
3 a 1
4 c 1
希望结果集是
1 a 2
2 b 0
3 c 1bb字段去掉重复的值 并且把cc字段的值相加请问如何实现必须用 子查询 group by 吗?
aa bb cc
1 a 1
2 b 0
3 a 1
4 c 1
希望结果集是
1 a 2
2 b 0
3 c 1bb字段去掉重复的值 并且把cc字段的值相加请问如何实现必须用 子查询 group by 吗?
解决方案 »
- ORACLE触发器问题
- 请问如何在数据库中删除一个DATE类型的记录呢?
- 半夜起床研究!完了!谁能助我,工作要丢!
- 求教一个sql
- ORA-12154 error, TNS: could not resolve the connect identifier specified.
- rownum到底有什么用的,要用时不好用
- 服务ORACLEOraHomeTNSlistener又什么用,将其关闭对什么有影响。
- 如何在java中建立与oracle数据库的连接呀???
- 什么叫左连接、右连接???
- 怎么取出图片地址?
- oracle表已存在,但是存储过程里调用该表是提示不存在
- Oracle通过UTL_SMTP发送邮件,从网上搜了一个,收不到邮件,请大神帮忙看看啥情况?
union
select distinct t1.aa,t1.bb,t1.cc from tb t1,tb t2 where t1.bb(+)=t2.bb and t2.bb=NULLtb是你的表名
2 select 1 c1,'a' c2,1 c3 from dual
3 union
4 select 2,'b',0 from dual
5 union
6 select 3,'a',1 from dual
7 union
8 select 4,'c',1 from dual)
9 select rownum rn,b.c2,s_c3 from (select a.c2,sum(a.c3) s_c3 from a group by a.c2) b; RN C S_C3
---------- - ----------
1 a 2
2 b 0
3 c 1
1 a 2
2 b 0
3 c 1
这个结果中的1/2/3 是怎么来的,自然序号还是有其他规则。
from(
select bb,sum(cc)
from t_name
group by bb) t ;
t.rownum的t.不需要4
5
select rownum,t.*
from(
select bb,sum(cc)
from t_name
group by bb) t ; 如果需求没有理解错的话 应该是这样
from(
select bb,sum(cc)
from t_name
group by bb) t ;
from(
select bb,sum(cc)
from t_name
group by bb) t ; 这样验证了,这样行
SELECT '1' AA ,'a' BB ,'1' CC FROM DUAL
UNION ALL
SELECT '2' AA ,'b' BB ,'0' CC FROM DUAL
UNION ALL
SELECT '3' AA ,'a' BB ,'1' CC FROM DUAL
UNION ALL
SELECT '4' AA ,'c' BB ,'1' CC FROM DUAL
)SELECT * FROM (SELECT AA, BB,SUM(CC) OVER(PARTITION BY BB ) CC FROM T) TT
WHERE TT.AA = (SELECT MIN(AA) FROM T WHERE TT.BB = T.BB)