各位高手大家好:目前我有一个客户开销户日志表,每月的开销户记录都在里面,开销户次数未知。我现在想查询每次开户对应的销户时间差是否超过72小时,我思路如下:1、根据号码排序日志表,把相同号码的归到一起2、根据相同号码分类开户,跟销户,分别按照时间排序开户,销户,并把结果放入2个数组3、用下标相同的销户数组减开户数据,发现时间差大于72小时,跳出但是我不会写这个sql,请各位帮忙手机号码字段 时间 开销户状态(1开户;0销户)
msisdn time status
msisdn time status
SELECT msisdn, TIME, p_time, (TIME - p_time) * 24 diff
FROM (SELECT msisdn,
TIME,
status lag(TIME) over(parition BY msisdn ORDER BY TIME) p_time,
FROM table_name);
t.time,
t.userstatus,
lead(t.userstatus, 1, null) over(partition by t.usernumber order by t.userstatus)
from USER_SERVICE_LOG t where t.usernumber=13019329470;
结果:
现在还需要把t.userstatus 中1的值再安装时间排序,3的也按照时间排序