mariadb 如何获取过去特定时间段内的数据

tjvv9vkg  于 2023-03-30  发布在  其他
关注(0)|答案(1)|浏览(196)

我的任务是拉每日,每周和每月注册用户。在我的用户表中,我有created_at列,其中包含INT格式的创建日期。例如created_at = 1679489745。我如何根据指定的时间段使用时间戳获得用户列表?

for daily user:
SELECT * FROM `users`
where `created_at` BETWEEN CURDATE()-1 AND CURDATE()

for weekly user:
SELECT * FROM `users`
where `created_at` BETWEEN CURDATE()-7 AND CURDATE()

for monthly user:
SELECT * FROM `users`
where `created_at` BETWEEN CURDATE()-30 AND CURDATE()

另外,我看到一些建议,我应该使用DATEADD,但当我使用dateadd时,我得到错误说database.DATEADD does not exist。我使用MariaDB数据库。我如何才能实现这一点?

lfapxunr

lfapxunr1#

将评论移至答案,
由于mariaDB不识别dateDD函数,因此使用interval函数代替dateDD

SELECT * FROM users` WHERE created_at BETWEEN UNIX_TIMESTAMP(CURDATE() - INTERVAL 1 DAY) AND UNIX_TIMESTAMP(CURDATE())`

相关问题