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;
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。