使用當前日期往前推, 一至七日, 每日存留都會更新, 最新存留資訊
推薦使用定時排程任務每日23:55 分執行, 這個查詢資料量比較大
使用者表裡必須有兩個字段, 使用者建立時間create_time(型別為date,ymd), 最後登入時間last_login
select
ifnull((
(select count(*) from ylb_account where create_date = date_add(date_format(now(),'%y-%m-%d'),interval -1 day) and last_login >= date_format(now(),'%y-%m-%d'))/
(select count(*) from ylb_account where create_date = date_add(date_format(now(),'%y-%m-%d'),interval -1 day))
),0) one_day,
ifnull((
(select count(*) from ylb_account where create_date = date_add(date_format(now(),'%y-%m-%d'),interval -2 day) and last_login >= date_format(now(),'%y-%m-%d'))/
(select count(*) from ylb_account where create_date = date_add(date_format(now(),'%y-%m-%d'),interval -2 day))
),0) tow_day,
ifnull((
(select count(*) from ylb_account where create_date = date_add(date_format(now(),'%y-%m-%d'),interval -3 day) and last_login >= date_format(now(),'%y-%m-%d'))/
(select count(*) from ylb_account where create_date = date_add(date_format(now(),'%y-%m-%d'),interval -3 day))
),0) three_day,
ifnull((
(select count(*) from ylb_account where create_date = date_add(date_format(now(),'%y-%m-%d'),interval -4 day) and last_login >= date_format(now(),'%y-%m-%d'))/
(select count(*) from ylb_account where create_date = date_add(date_format(now(),'%y-%m-%d'),interval -4 day))
),0) four_day,
ifnull((
(select count(*) from ylb_account where create_date = date_add(date_format(now(),'%y-%m-%d'),interval -5 day) and last_login >= date_format(now(),'%y-%m-%d'))/
(select count(*) from ylb_account where create_date = date_add(date_format(now(),'%y-%m-%d'),interval -5 day))
),0) five_day,
ifnull((
(select count(*) from ylb_account where create_date = date_add(date_format(now(),'%y-%m-%d'),interval -6 day) and last_login >= date_format(now(),'%y-%m-%d'))/
(select count(*) from ylb_account where create_date = date_add(date_format(now(),'%y-%m-%d'),interval -6 day))
),0) six_day,
ifnull((
(select count(*) from ylb_account where create_date = date_add(date_format(now(),'%y-%m-%d'),interval -7 day) and last_login >= date_format(now(),'%y-%m-%d'))/
(select count(*) from ylb_account where create_date = date_add(date_format(now(),'%y-%m-%d'),interval -7 day))
),0) seven_day
結果字段資料型別為fload, 乘100 即可轉換成百分比 人生七日忠告
人生七日忠告 第一日的忠告 經常給人乙個驚喜給朋友乙個驚喜,能增進友誼 給家人乙個驚喜,能帶來無比的歡樂 給孩子乙個驚喜,能激發其活力 給同事乙個驚喜,能融洽良好的人際關係 一聲輕輕的問候,乙份貼心的關懷,能給人意想不到的溫暖。把自己的快樂告訴他人,大家共享其樂融融。驚喜不要去刻意炮製 第二日的忠告...
人 生 七 日 忠 告
第一日的忠告 經常給人乙個驚喜 給朋友乙個驚喜,能增進友誼 給家人乙個驚喜,能帶來無比的歡樂 給孩子乙個驚喜,能激發其活力 給同事乙個驚喜,能融洽良好的人際關係 一聲輕輕的問候,乙份貼心的關懷,能給人意想不到的溫暖。把自己的快樂告訴他人,大家共享其樂融融。驚喜不要去刻意炮製 第二日的忠告 善於彌補別...
mysql統計使用者七日留存儲存過程
begin declare i int declare numareaid int 10 declare currentareaid int 10 select count areaid min areaid into a,b from option area info set numareaid ...