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