题解 | where exists

牛客每个人最近的登录日期(三)

https://www.nowcoder.com/practice/16d41af206cd4066a06a3a0aa585ad3d

SELECT ROUND(
    (SELECT COUNT(DISTINCT user_id) 
     FROM login a
     WHERE EXISTS (
         SELECT 1 
         FROM login AS b 
         WHERE a.user_id = b.user_id 
         AND DATE_ADD(a.date, INTERVAL 1 DAY) = b.date)
    ) * 1.0 / 
    (SELECT COUNT(DISTINCT user_id) 
     FROM login), 
3) AS p;


#连续两天 且是 第一天和第二天 且 同一天同一user_id只能统计一次 然后 连登两天/初次登陆

/*select round(count(distinct user_id)*1.0/(select count(distinct user_id) from login),3)
from login
where (user_id,date) in 
(select user_id,date_add(min(date),interval 1 day) 
from login 
group by user_id)*/

全部评论

相关推荐

昨天 15:02
门头沟学院 Java
刚打开网申页面就不想填了,还是不要为难自己了
poppinzhan...:多益老行业毒瘤了,碰到徐波这种恶心的烂人,去了也是受罪。
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务