题目链接:点击打开链接
题目大意:略。
解题思路:这题有点坑,首先题目描述不清楚是在倒退90天到今天为止,还是从今天开始算未来的90天;接着既然是倒退90天内,按照计算应该是到 '2019-04-02' 为止,包括今天的话,可是居然是到 '2019-04-01',这样算的话包括今天就是 91 天了。
AC 代码
--解决方案(1) WITHt1AS(SELECT*, ROW_NUMBER() OVER(PARTITIONBYuser_idORDERBYactivity_date) rwFROMTrafficWHEREactivity='login') SELECTactivity_datelogin_date, COUNT(DISTINCTuser_id) user_countFROMt1WHERErw=1ANDactivity_dateBETWEEN'2019-04-01'AND'2019-06-30'GROUPBYactivity_date--解决方案(2) selectlogin_date,count(user_id) user_countfrom (selectuser_id, min(activity_date) login_datefromTrafficwhereactivity='login'groupbyuser_id) twheredatediff('2019-06-30',login_date)<=90groupbylogin_date;