Oracle实现对查询结果每N条再次分组

问题描述:
这里写图片描述

原始数据:
*.DMP文件见http://download.youkuaiyun.com/detail/u012920086/9138513,账号密码都是lanbin,有兴趣的朋友可以导入学习下

Select sid,time,pre_1h from livedata live
where live.time <= to_date('2015-09-24 12:00:00', 'yyyy-mm-dd hh24:mi:ss') and live.time > to_date('2015-09-23 12:00:00', 'yyyy-mm-dd hh24:mi:ss')
and sid = 'A2401'
order by time

这里写图片描述

解决办法:

SELECT floor(rownum/3) AS groupid ,SUM(live.pre_1h),MAX(live.time) max_time from livedata live
where live.time <= to_date('2015-09-24 12:00:00', 'yyyy-mm-dd hh24:mi:ss') 
and live.time > to_date('2015-09-23 12:00:00', 'yyyy-mm-dd hh24:mi:ss')
and sid = 'A2401'
group by  floor(rownum/3) order by max_time

这里写图片描述

知识点:
1、Oracle导出语句

expdp lanbin/lanbin dumpfile=wq20150925.DMP  directory=DATA_PUMP_DIR schemas=lanbin

2、ROWNUM是一种伪列,它会根据返回记录生成一个序列化的数字。利用ROWNUM,我们可以生产一些原先难以实现的结果输出。以后有空再学习下ROWNUM,rowid的相关知识

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值