with t as(
select
*,
lead(date,1) over(partition by user_id order by date) nextdate
from login
)
select
round(count(case when nextdate_mark>0 then 1 else null end)/count(user_id),3) p
from (
select
user_id,
sum(case when date_add(date,interval 1 day)=nextdate then 1 else null end) nextdate_mark
from t
group by user_id
) t2
把 t2 创建临时表就一直报错。。。。。

京公网安备 11010502036488号