group by语句加序号的问题

tjm1 2007-07-23 04:21:06
表有a, b, c三个字段,数据如下:

A B C
---------------
A A 1
A B 2
B A 3
B A 4

要求对a, b字段分组,对c求和,实现如下效果:

序号 A B C
-------------------
1 A A 1
2 A B 2
1 B A 7

上面的序号(流水号)怎么实现,用一句sql?
...全文
597 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bjt_ 2007-07-23
  • 打赏
  • 举报
回复
select rank() over (partition by t.a order by t.b),a,b,sum(c) c
from t2 group by a,b
dragon188 2007-07-23
  • 打赏
  • 举报
回复
SELECT row_number() OVER(PARTITION BY A ORDER BY A) XL,T.* FROM (
SELECT A,B,SUM(C) C FROM (
SELECT 'A' A,'A' B,1 C FROM DUAL
UNION
SELECT 'A' A,'B' B,2 C FROM DUAL
UNION
SELECT 'B' A,'A' B,3 C FROM DUAL
UNION
SELECT 'B' A,'A' B,4 C FROM DUAL)
GROUP BY A,B
)T
tjm1 2007-07-23
  • 打赏
  • 举报
回复
我试了,不是我想要的结果:
1 a a 1
2 a b 2
3 b a 7
hongqi162 2007-07-23
  • 打赏
  • 举报
回复
select rownum ,t.* from
(select a,b,sum(c) c from t2 group by a,b) t

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧