aaa bbb ccc
001 10 2008-1-1
001 20 2008-1-1
001 15 2008-1-3
001 20 2008-1-3
002 30 2008-1-4
002 40 2008-1-5
003 50 2008-1-6
... .. ....希望得到
001 35
002 40
003 50就是根据最后的时间对aaa做GROUP,求bbb的总和,谢谢!
001 10 2008-1-1
001 20 2008-1-1
001 15 2008-1-3
001 20 2008-1-3
002 30 2008-1-4
002 40 2008-1-5
003 50 2008-1-6
... .. ....希望得到
001 35
002 40
003 50就是根据最后的时间对aaa做GROUP,求bbb的总和,谢谢!
解决方案 »
- 求写个job
- occi使用sql查询语句的问题
- 求sql语句,求人数,谢谢各位~
- oracle的行级锁问题
- 优化大师优化系统后,oracle就无法登陆啦
- !!!!!初学oracle写了个触发器,执行时出现错误怎么办??
- 向orcal插入数据,提示ORA-00911,怎么回事啊????????????急!!!!!!!!!!!!!!!!!!!!
- 关于update,如果在存储过程中,只update,而不commit,也不rollback?会有什么样的结果呢?
- 请高手指点---oracle无法启动?(在线等待)
- 如何将文本文件导入oracle
- 用toad向oracle导数据时出现这个,请帮忙?
- 如何得到前一日的零时零分零秒?
select aaa,sum(bbb)
from a,
(
select aaa,max(ccc) last_ccc
from a
group by aaa
) b
where a.ccc=b.last_ccc
and a.aaa=b.aaa
group by aaa
from (
select aaa,sum(bbb) bbb,ccc
from a
group by aaa,ccc
)
group by aaa
不是最后日然后当天求后虽然在本题中,可以显示出楼主所需要的数据,不过数据一变,你的就不对了比如aaa bbb ccc
001 20 2008-1-1
001 20 2008-1-1
001 15 2008-1-3
001 20 2008-1-3
002 50 2008-1-4
002 40 2008-1-5
003 50 2008-1-6
... .. ....
我只调整两行数据
你出来的结果就是
001 40
002 50
003 50
那应该是
select aaa,bbb
from (
select aaa,sum(bbb) bbb, max(ccc) ccc
from a
group by aaa,ccc
)
不知道对不对,我这里没有工具验证
select x.aaa, x.bbb
from (
select t.aaa,sum(t.bbb) bbb,t.ccc
from temp t,(select max(ccc) ccc from temp group by aaa) a
where t.ccc = a.ccc
group by t.aaa,t.ccc
) x