SQL 数据库设计——连续签到奖励


-- 用户签到时
UPDATE
  签到表
SET
  连续签到天数 = CASE 最近签到日期
    WHEN Today THEN 连续签到天数
    WHEN Today - 1 THEN (连续签到天数 + 1) MOD 8
    ELSE 1
  END,
  最近签到日期 = Today
WHERE
  用户ID = 用户ID;

-- 查询用户连续签到天数
SELECT
  CASE
    WHEN 最近签到日期 >= Today - 1 THEN 连续签到天数
    ELSE 0
  END AS 连续签到天数
FROM
  签到表
WHERE
  用户ID = 用户ID;

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM