#1.一个人多次留存也算,比如用户 user_id=1001,date=12 13 14 这种算2次。 #2.计算公式是每人每天的总和,比如user_id=1001,date 12 and user_id=1001,date 13 这算2天(user_id=1002,date=12,这种应该算3天)。 #3.结果就是1/3,留存数量/每人每天总和 with tiaojian as ( select device_id, date, lead(date,1)over(partition by device_id order by date) as pn from question_practice_detail ) select count(case when datediff(pn,date)=1 then device_id end)/count(distinct device_id,date) from tiaojian