oracle的一个分组查询问题
table:
单据号姓名金额
A name1 100
Aname1 200
A name2 300
B name1 400
B name2 500
要求同一个单据号的按照姓名合起来
查询后结果:
单据号姓名金额
A name1 300(有100+200得到)
A name2 300
B name1 300
B name2 500
[解决办法]
select 单据号 ,姓名,sum(金额)from tablegroup by 单据号,姓名
[解决办法]
with tab as (
select 'A' as djh,'name1' as name,100 as je from dual
union all
select 'A' as djh,'name1' as name,200 as je from dual
union all
select 'A' as djh,'name2' as name,300 as je from dual
union all
select 'B' as djh,'name1' as name,400 as je from dual
union all
select 'B' as djh,'name2' as name,500 as je from dual
)
select djh,name,sum(je) as je from tab group by djh,name
[解决办法]
--这个蛮基础的啊 楼主没认真去想吧select 单据号 , 姓名, sum(金额) 总金额from tbgroup by 单据号,姓名
[解决办法]
select 单据号 , 姓名, sum(金额) 总金额from tbgroup by 单据号,姓名
[解决办法]
SQL> with t as ( 2 select 'A' 单据号,'name1' 姓名,100 金额 from dual union all 3 select 'A','name1',200 from dual union all 4 select 'A','name2',300 from dual union all 5 select 'B','name1',400 from dual union all 6 select 'B','name2',500 from dual) 7 select 单据号,姓名,sum(金额) 8 from t 9 group by 单据号,姓名;单据号 姓名 SUM(金额)------ ----- ----------A name1 300A name2 300B name1 400B name2 500