sql 得到连续签到天数及总签到天数
2017-05-12 17:48
681 查看
DECLARE @days INT SET @days = 0 DECLARE @curr_day DATETIME --创建day用于储存连续签到日期SET
@curr_day = GETDATE() --curr_day为当前日期
WHILE EXISTS(SELECT null FROM Mall_MemberSign_Log WHERE [MemberId]=11514 AND DATEDIFF(dd,SignTime,@curr_day) = 1) --进行循环判断之前一天是否签到
BEGIN
SET @days = @days + 1
SET
@curr_day = DATEADD(dd, -1, @curr_day)
END
if((select 1 from Mall_MemberSign_Log where MemberId=11514 and convert(varchar(10), getdate(), 23)=convert(varchar(10), SignTime, 23)) is not null) --判断今天是否签到了
BEGIN SET @days = @days + 1
END
select @days as ContinuitySignDay ,COUNT(SignTime) as SignCount ,SUM(Integral) as TotalIntegral from Mall_MemberSign_Log where [MemberId]=11514 --得到连续签到天数,总签到次数,签到获得的积分
@curr_day = GETDATE() --curr_day为当前日期
WHILE EXISTS(SELECT null FROM Mall_MemberSign_Log WHERE [MemberId]=11514 AND DATEDIFF(dd,SignTime,@curr_day) = 1) --进行循环判断之前一天是否签到
BEGIN
SET @days = @days + 1
SET
@curr_day = DATEADD(dd, -1, @curr_day)
END
if((select 1 from Mall_MemberSign_Log where MemberId=11514 and convert(varchar(10), getdate(), 23)=convert(varchar(10), SignTime, 23)) is not null) --判断今天是否签到了
BEGIN SET @days = @days + 1
END
select @days as ContinuitySignDay ,COUNT(SignTime) as SignCount ,SUM(Integral) as TotalIntegral from Mall_MemberSign_Log where [MemberId]=11514 --得到连续签到天数,总签到次数,签到获得的积分
相关文章推荐
- 获取连续登陆天数,连续签到天数 ,方法优化
- MS-SQL中取用户连续签到的次数
- MS-SQL中取用户连续签到的次数
- 连续签到和当天是否签到SQL
- 关于到今天考勤系统连续上班天数的问题或者连续登陆天数的问题(sql)
- ASP.NET 统计连续签到天数
- MYSQL实现连续签到功能断签一天从头开始(sql语句)
- oracle按照日期求连续天数的数据sql
- SQL上得到关键天数
- 当月签到连续天数
- 微信商城签到天数sql语句
- 传入用户id查询连续签到天数
- SQL SERVER中SQL语句的一个问题——得到连续数字数据集的SQL语句
- SQL连续天数问题
- python 执行sql得到字典格式数据
- 得到sql的周和季度函數
- 数据库-5 求员工连续工作天数
- SQL强化:将相同的或连续的时间段合并
- oracle中得到一条SQL语句的执行时间的两种方式
- SQL中条件和比较关键字Case的使用方法(case的结果就是得到了一个值)