加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sqlserver查询连续签到天数

发布时间:2020-12-12 14:19:43 所属栏目:MsSql教程 来源:网络整理
导读:create table #t (keyId int identity,actionDate datetime) insert into #t(actionDate) select distinct CreateDate from CRM_ScoreTransaction WHERE MemberID=‘1E7DFF7F-51ED-4E21-8471-E892E0326BBD‘ order BY CreateDate desc ---采用遍历的方式生成

create table #t
(keyId int identity,actionDate datetime)
insert into #t(actionDate) select distinct CreateDate from CRM_ScoreTransaction WHERE MemberID=‘1E7DFF7F-51ED-4E21-8471-E892E0326BBD‘ order BY CreateDate desc
---采用遍历的方式生成用户连续签到的天数 start
declare @i int,@imax int,@startDate datetime
set @i=1
select @imax = max(keyId),@startDate =max(actionDate) from #t

while @i <@imax
begin
set @startDate = dateadd(day,-1,@startDate)
set @i [email?protected]+1

if not exists(
select null from #t where keyId [email?protected] and actionDate [email?protected]
)
begin
set @[email?protected]
break;
end
end

if @imax is null
begin
set @i=0
end

select convert(varchar(20),@i) signinday

---采用遍历的方式生成用户连续签到的天数 end gotruncate table #tdrop table #t

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读