题解 | #计算用户的平均次日留存率#
计算用户的平均次日留存率
https://www.nowcoder.com/practice/126083961ae0415fbde061d7ebbde453
SELECT COUNT(Q2.date)/COUNT(Q1.date) AS avg_ret FROM (SELECT DISTINCT device_id,date FROM question_practice_detail) AS Q1 LEFT JOIN (SELECT DISTINCT device_id,date FROM question_practice_detail) AS Q2 ON Q1.device_id=Q2.device_id AND Q2.date = DATE_ADD(Q1.date, interval 1 day); date_add函数定义和用法 DATE_ADD() 函数向日期添加指定的时间间隔。 语法: DATE_ADD(date,INTERVAL expr type) date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。 type 参数可以是下列值: Type 值 MICROSECOND SECOND MINUTE HOUR DAY WEEK MONTH QUARTER YEAR SECOND_MICROSECOND MINUTE_MICROSECOND MINUTE_SECOND HOUR_MICROSECOND HOUR_SECOND HOUR_MINUTE DAY_MICROSECOND DAY_SECOND DAY_MINUTE DAY_HOUR YEAR_MONTH