oracle关联统计查询

梦魇秦歌 2013-05-16 05:29:51
Typeid typename
1 工业
2 商业
3 农业
...

ID Typeid Time Value
1 1 10:00 123
1 2 10:00 321
1 3 10:00 213


想要的结果:
Time 工业 农业 商业 ...
10:00 123 213 321 ...
...
...
...

数据量应该是蛮大的
至少是50万条吧
5分钟执行一次查询,兼顾性能!
求大神指导
...全文
183 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
梦魇秦歌 2013-06-06
  • 打赏
  • 举报
回复
唉,灵感最终还是要靠自己……
u010412956 2013-05-16
  • 打赏
  • 举报
回复
with t as 
(select b.time,a.typename,sum(b.value) value from b left join a 
on b.typeid=a.typeid
group by b.time,a.typename)
select * from t pivot (sum(value) for typename in ('工业','农业','商业'));
zxsjh 2013-05-16
  • 打赏
  • 举报
回复
select m.time, sum(decode(m.typename,'工业',m.value,null)) '工业', sum(decode(m.typename,'农业',m.value,null)) '农业', sum(decode(m.typename,'商业',m.value,null)) '商业' from (SELECT b.ID, a.typename, b.TIME, b.VALUE FROM a, b WHERE a.typeid = b.typeid) m group by m.time order by m.time

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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