gpt4 book ai didi

mysql - 计算 MySQL 中 2 个动态日期之间值的出现次数

转载 作者:行者123 更新时间:2023-11-29 07:18:32 25 4
gpt4 key购买 nike

我有一个表,其中一行代表用户的每个事件。我想要检索在同一周内发生 2 个或更多事件的每个用户(这些事件之间最多相隔 7 天)

事件表:

id   -   user_id   -   date
1 - 1 - 2015/04/02
2 - 1 - 2015/04/05
3 - 1 - 2015/09/12
4 - 14 - 2016/01/21
5 - 14 - 2016/02/18

所以预期的结果应该是

user_id   -   count(date in same week)
1 - 2

user_id 14 不应出现在结果中,因为它的事件不在同一周内。

有人知道如何在 MySQL 中完全做到这一点吗?

最佳答案

如果您只需要 7 天内出现次数超过 1 次的 user_id 列表,则可以将 EXISTS()DATEDIFF() 结合使用

SELECT distinct user_id
FROM EventTable e
WHERE EXISTS(SELECT 1 FROM EventTable e2
WHERE ABS(DATEDIFF(e.date,e2.date)) < 7
AND e.user_id = e2.user_id)

关于mysql - 计算 MySQL 中 2 个动态日期之间值的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37007126/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com