mysql 连续签到天数_最大连续签到天数-sql

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-28 19:45   84   0

8da1c57a6cf7680d68ed127d7305f4ef.png

SELECT MIN(rq) as 起始日期

, MAX(rq) as 终止日期

, MAX(id1) - MIN(id1) + 1 as 持续天数

,id3 as 累计签到天数

,name

FROM (

SELECT datediff(rq,'2020-02-01' )id1

, (

SELECT COUNT(1)

FROM tmptable

WHERE rq <= a.rq and

type = '是'

) id2,

(

SELECT COUNT(1)

FROM tmptable

WHERE

type = '是'

) id3, (

SELECT MAX(rq)

FROM tmptable

WHERE rq < a.rq

and type = '是'

) rq2,rq,type,name

FROM tmptable a

where type = '是'

) a

GROUP BY a.id1 - a.id2

order by 持续天数 desc

limit 1

8418ef8186e23e1181ae716ab5cf2c86.png

SELECT MIN(rq) as 本期起始日期

, MAX(rq) as 本期终止日期

, MAX(id1) - MIN(id1) + 1 as 持续天数

, CASE a.id1 - a.id2

WHEN -1 THEN 0

ELSE MAX(datediff( rq2, rq))

END as 距上一期天数

FROM (

SELECT datediff(rq,'2020-02-01' )id1

, (

SELECT COUNT(1)

FROM tmptable

WHERE rq <= a.rq and

type = '是'

) id2, (

SELECT MAX(rq)

FROM tmptable

WHERE rq < a.rq

and type = '是'

) rq2,rq,type,name

FROM tmptable a

where type = '是'

) a

GROUP BY a.id1 - a.id2

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP