题解 | #连续签到领金币#

连续签到领金币

http://www.nowcoder.com/practice/aef5adcef574468c82659e8911bb297f

解决了连续后面就好写了;

  SELECT 
	uid,
	DATE_FORMAT(dt,'%Y%m') AS MONTH,
	SUM(coins) AS coin
  FROM
  (
	 SELECT
		uid,first_day,dt,rn,
		CASE rn WHEN  3 THEN 3
			WHEN  0 THEN 7
		ELSE 1 END AS coins
	  FROM
		  (
		    SELECT
			uid,first_day,dt,
			ROW_NUMBER() OVER(PARTITION BY  uid,first_day ORDER BY dt) % 7 rn
		  FROM
		  (
			  SELECT
				uid,rn,dt,DATE_SUB(dt,INTERVAL rn DAY) AS first_day
			  FROM 
			  (
				  SELECT
					uid,
					ROW_NUMBER() OVER(PARTITION BY uid ORDER BY in_time) rn,
					DATE_FORMAT(in_time,'%Y%m%d') dt
				  FROM tb_user_log tl
				  WHERE artical_id = 0 AND sign_in = 1  
                  AND DATE_FORMAT(in_time,'%Y%m%d') >= '20210707'
                  and DATE_FORMAT(in_time,'%Y%m%d') < '20211101'
			  ) t  
		  ) t1
	  ) t2  
  )  t3
  GROUP BY uid,MONTH
全部评论

相关推荐

11-03 14:38
重庆大学 Java
AAA求offer教程:我手都抬起来了又揣裤兜了
点赞 评论 收藏
分享
Yushuu:你的确很厉害,但是有一个小问题:谁问你了?我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了😆
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务