这个题目比较让人迷惑的是 如果这个人 第一天也登录 第二天 第三天 也登陆 第四天不登录了 怎么算
其实 还是在审题上
就是 "新登录用户的次日成功" 这边的新登录用户 就是只是考虑 第一天和第二天 也就很好理解了
-->选出所有的ID
select count(distinct user_id) from login
---->找出 第一天登录的用户 使用 Min()
select user_id, min(date) from login
----->就是 第一天的用户必须在第二天的用户 使用 date() //这个 用在Where 条件里
select user_id, date(min(date),'+1 day') from login
公式:第一天第二天的ID/All ID
具体如下:
select round(
count(distinct user_id) *1.0/(select count(distinct user_id)
from login),3) as p
from login
where (user_id,date) in
(select user_id, date(min(date),'+1 day')
from login
group by user_id);

京公网安备 11010502036488号