首页 > 数据库 > Oracle > 需求:查看连续两天没有登录系统的用户
写sql的思路:
1:想办法让相邻两次登录时间 写入同一行 (1)oder by id,sign_tim (2)row_number() over(partition by id order by sign_tim) rank ##去掉每个用户的最后一条记录 (3)造一列 lead(time) over (order by rownum) ##列出 同一列 下一行的记录 2:两个Date类型字段:START_DATE,END_DATE,计算这两个日期的时间差 ROUND(TO_NUMBER(END_DATE - START_DATE)) 默认是天 ROUND(TO_NUMBER(END_DATE - START_DATE) * 24) 改小时 3:筛选出间隔大于2天的记录 case when jiange>2 then '>2day' else '' end as jieguo
思路有了,然后才能无敌
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31454056/viewspace-2213661/ ,如需转载,请注明出处,否则将追究法律责任。