我正在我正在开发的一个网站上进行查询,该网站根据表中 1 年或 365 天的特定间隔之间的计数来选择排名前 1 的用户,该网站上周运行良好,但今天运行良好我试过了,但不起作用。我做了一些测试,发现问题出在间隔部分。当我运行查询时,它返回 0 个结果。所以我需要你的帮助
SELECT user_posted_to, COUNT(*)
FROM activity_log_table
WHERE post_type = 'discussion'
AND activity_type = 'Like'
AND activity_timestamp >= CURRENT_DATE - INTERVAL 365 DAY
AND activity_timestamp <= CURRENT_DATE
GROUP BY user_posted_to
ORDER BY COUNT(user_posted_to) DESC LIMIT 0, 1
最佳答案
假设activity_timestamp
是一个INT,一个unix时间戳,您必须使用UNIX_TIMESTAMP
将日期转换为 unix 时间戳的函数:
AND activity_timestamp >= UNIX_TIMESTAMP(CURRENT_DATE - INTERVAL 365 DAY)
AND activity_timestamp <= UNIX_TIMESTAMP(CURRENT_DATE)
关于Mysql 间隔新年后不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53994361/