oracle怎么统计按时间段统计数据?
号码出现多次。怎么统计1个小时内、2个小时内、3个小时内。。。每个号码出现的次数?各分段不重复统计,例如1个小时内出现的不记在2个小时内。请各位大神帮帮忙,谢谢!或者不用...
号码出现多次。
怎么统计1个小时内、2个小时内、3个小时内。。。每个号码出现的次数?
各分段不重复统计,例如1个小时内出现的不记在2个小时内。
请各位大神帮帮忙,谢谢!
或者不用一句sql写出来,能一次统计一个时间段的也行。谢谢大家了!
之前没表达清楚,不好意思。
我其实是要统计1个小时内、2个小时内、3个小时内重复出现的号码数和重复出现的次数(不包括第一次),而1个小时,2个小时不是具体的时间,而是号码重复出现的时间在1个小时内,2个小时内。 展开
怎么统计1个小时内、2个小时内、3个小时内。。。每个号码出现的次数?
各分段不重复统计,例如1个小时内出现的不记在2个小时内。
请各位大神帮帮忙,谢谢!
或者不用一句sql写出来,能一次统计一个时间段的也行。谢谢大家了!
之前没表达清楚,不好意思。
我其实是要统计1个小时内、2个小时内、3个小时内重复出现的号码数和重复出现的次数(不包括第一次),而1个小时,2个小时不是具体的时间,而是号码重复出现的时间在1个小时内,2个小时内。 展开
1个回答
展开全部
select 号码,count(1)
from 表
where 时间 >= concat(to_char(sysdate,'yyyy-mm-dd ')||(to_char(sysdate,'hh24')-1),':00:00')
group by 号码
一个小时内的。
select 号码,count(1)
from 表
where 时间 >= concat(to_char(sysdate,'yyyy-mm-dd ')||(to_char(sysdate,'hh24')-2),':00:00')
and 时间 <= concat(to_char(sysdate,'yyyy-mm-dd ')||(to_char(sysdate,'hh24')-1),':00:00')
group by 号码
1个小时内出现的不记在2个小时内。
from 表
where 时间 >= concat(to_char(sysdate,'yyyy-mm-dd ')||(to_char(sysdate,'hh24')-1),':00:00')
group by 号码
一个小时内的。
select 号码,count(1)
from 表
where 时间 >= concat(to_char(sysdate,'yyyy-mm-dd ')||(to_char(sysdate,'hh24')-2),':00:00')
and 时间 <= concat(to_char(sysdate,'yyyy-mm-dd ')||(to_char(sysdate,'hh24')-1),':00:00')
group by 号码
1个小时内出现的不记在2个小时内。
更多追问追答
追问
不好意思,我之前没说清楚。这个1个小时,2个小时不是具体的时间,而是号码重复出现的时间不超过1个小时,2个小时,见问题补充。请问有没有有解决方法?
追答
你总得有一个时间来判断1小时,2小时内吧。
不包括一次,你取出来之后减去1,不就好了?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询