mysql 連續簽到天數 最大連續簽到天數 sql

2021-10-18 21:07:55 字數 1255 閱讀 7397

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 = '是'

) agroup by a.id1 - a.id2

order by 持續天數 desc

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 = '是'

) agroup by a.id1 - a.id2

最大連續簽到天數 sql

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 ...

用sql解決最近連續簽到與最大連續簽到

題目 有一張使用者簽到表 t user attendence 標記每天使用者是否簽到 說明 該錶包含所有使用者所有工作日的出勤記錄 包含三個字段 日期 fdate 使用者id fuser id 使用者當天是否簽到 fis sign in 0否1是 問題1 請計算截至當前每個使用者已經連續簽到的天數 ...

mysql 連續簽到天數 幾種簽到功能的對比

簽到送豪禮 按照計分方式區分,簽到分為兩種 1.按累計時間簽到,2.按連續時間簽到。按照表現形式區分,簽到形式較多 日曆簽到 進度條簽到 累計分數簽到等,甚至送鮮花等行為也勉強可以歸為簽到的變種。但是無論表現形式怎麼變化,基本都可以歸為以上兩種計分方式。兩種簽到方式有不同的作用。按累計時間簽到,根據...