1. 程式人生 > >mysql 查詢某時間段內連續n天登陸人數

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:[email protected]+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;