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