oracle 涉及行转列、复合查询、函数、 HAVING 、order by、group by、count、case when then、 join

本文介绍了一种使用SQL查询来分析用户登录行为的方法,包括登录次数、登录天数及特定月份内的登录频次等关键指标。


//计算用户登录日志

select u.uuid 用戶编号, u.Name 姓名 ,

count(case when l.operatetime is not null then 1 else null end) 登录次数,
count(distinct to_CHAR(l.operatetime,'dd')) 登录天数,
count( case when  to_CHAR(operatetime,'MM')='12' then 1 else null end) 十二月份登录次数
from T_SYS_USER u left join T_SYS_LOG l on u.login_name = l.UserID 
where  l.operatetime>"TO_DATE"('2017-12-04 00:00:00', 'yyyy-mm-dd,hh24:mi:ss')
group by u.uuid,u.Name  
having count(case when l.operatetime is not null then 1 else null end) >= 0 
order by  COUNT(case when l.operatetime is not null then 1 else null end) desc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值