在oracle中 (比如用户进入一个百度知道,连续7天都登入账号 那怎么写连续7天的用户的SQL呢)
表member字段user(用户名),type(登入类型),time(时间)那个大侠知道呀急呀!!!!!!!!!!!!!!!!...
表 member 字段 user(用户名),type (登入类型),time(时间) 那个大侠知道呀 急呀!!!!!!!!!!!!!!!!
展开
1个回答
展开全部
select * from
(select t2.user
,length(max(t2.str))-length(replace(max(t2.str),';','')) times
from
(select t1.user
,sys_connect_by_path(trunc(t1.opdate),';') str
from
(select t.user
,trunc(t.time) opdate
,rank() over(partition by t.user order by trunc(t.time)) rn
from member t) t1
start with trunc(t1.opdate)=trunc(sysdate)
connect by t1.rn = prior rn+1
and t1.user = prior t1.user
and t1.opdate = prior t1.opdate+1) t2
group by t2.user) t3
where t3.times>=7
;
-- type(登录类型),我没用,你需要区分类型的话自己加上吧,分也少了点,所以没人给你写啊
(select t2.user
,length(max(t2.str))-length(replace(max(t2.str),';','')) times
from
(select t1.user
,sys_connect_by_path(trunc(t1.opdate),';') str
from
(select t.user
,trunc(t.time) opdate
,rank() over(partition by t.user order by trunc(t.time)) rn
from member t) t1
start with trunc(t1.opdate)=trunc(sysdate)
connect by t1.rn = prior rn+1
and t1.user = prior t1.user
and t1.opdate = prior t1.opdate+1) t2
group by t2.user) t3
where t3.times>=7
;
-- type(登录类型),我没用,你需要区分类型的话自己加上吧,分也少了点,所以没人给你写啊
壹寰(深圳)科技文化有限公司
2021-03-27 广告
2021-03-27 广告
要找正规专业的公司,行业口碑也比较重要。如果想了解更多详细信息,可以咨询下壹寰(深圳)科技文化有限公司。91数据恢复是壹寰(深圳)科技文化有限公司旗下专业数据恢复品牌,91数据恢复专注于勒索病毒数据恢复、勒索病毒数据修复、数据库修复、数据库...
点击进入详情页
本回答由壹寰(深圳)科技文化有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询