我正在创建一个 SQL 查询,用于确定用户是否已成为成员(member)一年,如果是,则发送电子邮件。我的逻辑告诉我,我还应该确保他们在过去一年的服务中一直活跃。这是我的 sql 查询:
SELECT * FROM 用户 WHERE FROM_UNIXTIME(date_created,'%Y-%m-%d') + INTERVAL 365 DAY = CURRENT_DATE() AND FROM_UNIXTIME(last_login,'%Y-%m-%d') + INTERVAL 365 天 >= CURRENT_DATE()
我的假设是,如果 last_login + 365 天大于或等于当前日期,则意味着他们在 365 天内登录。
上次登录是一个时间戳。这是正确的 SQL 查询吗?
最佳答案
您的查询当前返回的是恰好一年前创建且此后登录的用户集。您不想要一年前创建并登录的用户吗?即 >= CURRENT_DATE()
而不是 = CURRENT_DATE()
。
关于MySQL 确定用户是否在 X 天内登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16255578/