免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5461 | 回复: 6
打印 上一主题 下一主题

如何用sql生成固定时间间隔的统计表 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-20 10:36 |只看该作者 |倒序浏览
有表Incoming_call,要统计A时到B时每隔X时长的话务量,只用SQL,我想,应该可以写出来吧?
欢迎高手试一试

论坛徽章:
0
2 [报告]
发表于 2007-04-20 14:07 |只看该作者
不明白你说的意思。

论坛徽章:
0
3 [报告]
发表于 2007-04-20 15:45 |只看该作者
表Incoming_call如下:
time    action
00:01 call in
00:02 call in
00:05 call in
00:08 call in
00:12 call in
00:15 call in
00:18 call in
00:21 call in
00:22 call in
00:25 call in
00:28 call in
......
假如想展现的是从 00:00----01:00 每隔10分钟的call数:
interval            call_times
00:00---00:10  4
00:10---00:20  3
00:20---00:30  4
......
请教各专家用一个sql如何写。

论坛徽章:
0
4 [报告]
发表于 2007-04-20 17:40 |只看该作者
select substr(to_char(time,'mi')),1,1) time ,sum(count(action)) from incoming_call
group by substr(to_char(time,'mi')),1,1)
试试

论坛徽章:
0
5 [报告]
发表于 2007-04-21 10:08 |只看该作者
谢楼上指点。
假如是3分钟间隔呢?再假如时间间隔是指定的呢?
另外,时间也不只是1小时。INCOMING_CALL是做了个示例。
欢迎各位DX一试

论坛徽章:
0
6 [报告]
发表于 2007-04-28 13:52 |只看该作者

自己找到方法了:

自己找到方法了:
假定t0, t1, interval
select
t0 + ceil((time - t0) / interval), count(*)
where time between t0 and t1
group by t0 + ceil((time - t0) / interval)
这是个示意,还需要很多函数填空完整。这个还是经常用到的SQL,希望能给大家以启示

CU是大家自由讨论的地方,低水平的贴子固然令人发笑,可是也希望各位DX们不要一味打杀,让我等战战兢,汗不敢出。贴子就更不敢发了

论坛徽章:
0
7 [报告]
发表于 2007-04-28 17:34 |只看该作者
补全了函数,假定间隔interv单位为分钟:
select  to_date('&t0','yyyy/mm/dd hh:mi:ss') + (a - 1)/1440*&interv ,
to_date('&t0','yyyy/mm/dd hh:mi:ss') + a/1440*&interv, count(*)
from (
select
decode(ceil((time - to_date('&t0','yyyy/mm/dd hh:mi:ss'))*1440/&interv), 0,1,
ceil((time - to_date('&t0','yyyy/mm/dd hh:mi:ss'))*1440/&interv)) a

from incoming_call
where time between to_date('&t0','yyyy/mm/dd hh:mi:ss')
and to_date('&t1','yyyy/mm/dd hh:mi:ss')
)
group by to_date('&t0','yyyy/mm/dd hh:mi:ss') + (a - 1)/1440*&interv ,
to_date('&t0','yyyy/mm/dd hh:mi:ss') + a/1440*&interv;
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP