select date, ifnull ( round ( ( sum( case when (user_id, date_add(date, interval 1 day)) in ( select user_id, date from login group by user_id ) then 1 else 0 end ) / sum( case when (user_id, date) in ( select user_id, min(date) from login group by user_id ) then 1 else 0 end ) ), 3), 0) p from login group by date_add(date, interval 1 day) order by date; 按照个人理解修改的大神解法,也许会更容易理解一些
2

相关推荐

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