我花了很长时间来学习如何在 MySQL 中处理时间戳,我认为我实现了我的目标,但我想仔细检查两件事:
1)这些是否符合我的预期
2)这些查询/功能是否有更快的替代品
今天
SELECT COUNT(*) AS count FROM log WHERE DATE(datet) = DATE(NOW())
Run Code Online (Sandbox Code Playgroud)
本星期
SELECT COUNT(*) AS count FROM log WHERE YEARWEEK(NOW()) = YEARWEEK(datet)
Run Code Online (Sandbox Code Playgroud)
上个星期
SELECT COUNT(*) AS count FROM log WHERE YEARWEEK(datet) = YEARWEEK(DATE_SUB(NOW(), INTERVAL 1 WEEK))
Run Code Online (Sandbox Code Playgroud)
这个月
SELECT COUNT(*) AS count FROM log WHERE datet > DATE_SUB(NOW(), INTERVAL 1 MONTH)
Run Code Online (Sandbox Code Playgroud)
上个月
SELECT COUNT(*) AS count FROM log WHERE datet > DATE_SUB(NOW(), INTERVAL 2 MONTH) AND datet < DATE_SUB(NOW(), INTERVAL 1 MONTH)
Run Code Online (Sandbox Code Playgroud)