select count(q2.device_id) / count(q1.device_id) avgret1, count(q3.device_id) / count(q1.device_id) avgret2, count(q4.device_id) / count(q1.device_id) avgret3 from ( select distinct device_id, date from question_practice_detail ) q1 left join ( select distinct device_id, date from question_practice_detail ) q2 on q1.device_id = q2.device_id and date_add(q1.date, interval 1 day) = q2.date left join ( select distinct device_id, date from question_practice_detail ) q3 on q1.device_id = q3.device_id and date_add(q1.date, interval 2 day) = q3.date left join ( select distinct device_id, date from question_practice_detail ) q4 on q1.device_id = q4.device_id and date_add(q1.date, interval 6 day) = q4.date 如何确定确切时间开始的留存率
时间: 2024-02-14 08:29:25 浏览: 73
SQL_select.rar_sql 语法
要确定确切时间开始的留存率,你可以通过修改查询语句中的日期条件来指定起始时间。在给定的查询中,留存率是根据与起始日期相隔一定天数的设备ID进行计算的。
例如,如果你想计算从特定日期开始的留存率,你可以修改以下行:
```sql
and date_add(q1.date, interval 1 day) = q2.date
and date_add(q1.date, interval 2 day) = q3.date
and date_add(q1.date, interval 6 day) = q4.date
```
将其中的 `q1.date` 替换为你想要的起始日期即可。请确保使用正确的日期格式,并将其与数据库中的日期字段格式匹配。
这样修改后,查询将计算从指定日期开始的留存率。你可以根据需要进一步调整查询,以满足你的具体需求。
阅读全文