mysql 查询某时间段内连续n天登陆人数


//30多万条数据0.4秒 不到,查询某时间段内连续登陆n天的用户,1132条
SET @wy=0;
SELECT DISTINCT uid
FROM (SELECT MAX(date)-MIN(date) less,uid
    FROM (SELECT date-rn diff, uid, date, rn
        FROM (SELECT @wy:=@wy+1 rn, uid,
            datediff(login_time,'1971-01-01') date,login_time
            FROM (SELECT date(LOGINDATE) login_time, GUID uid FROM login_115_tab
                WHERE LOGINDATE>='2016-03-01 00:00:00' AND LOGINDATE <'2016-03-30 00:00:00'
                GROUP BY GUID, date(LOGINDATE)
            ORDER BY uid, date(login_time)
            ) as a
        )as b
    )as c
GROUP BY diff,uid
)as d
WHERE less>=6;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值