请教下 mysql 的问题

2019 年 9 月 4 日
 yunshui

请问下取一周来过三次的用户应该怎么取 应该怎么写

2288 次点击
所在节点    程序员
9 条回复
yunshui
2019 年 9 月 4 日
表名:user_id, time, event

每个 id 一天同个 event 会有多个 time,我现在想要一周内来了两天以上的 id
Joshua999
2019 年 9 月 4 日
count
luopengfei14
2019 年 9 月 4 日
将时间转换为天的字符串,然后对 ID,天进行分组… …
大概思路是这样
romisanic
2019 年 9 月 4 日
请先给个表结构并定义什么是"来过一次"
dallaslu
2019 年 9 月 4 日
记录每次登录事件,然后统计指定时间内的登录次数。或者增加一个 meet_times_this_week,每次登录 +1,每周清零。
doublie
2019 年 9 月 4 日
还不知道表结构是怎么样的!不过我觉得 group by id 应该适合你,你的一周这个范围就不知道了,不知道是最近的一周还是固定的一周
chestre
2019 年 9 月 5 日
假设:
1,时间格式是 "yyyy-MM-dd", 可使用内置函数例如 DAY() 获得日期( day )
2,登录 event is ‘ login ’

SELECT user_id
FROM UserEvent
WHERE event='login'
GROUP BY user_id, Day(time)
HAVING count(*)>=3
chestre
2019 年 9 月 5 日
@yunshui 忘记 Where 里面要加上一周的 condition
ColoThor
2019 年 9 月 5 日
时间不要用内置函数,会使索引失效。比如字段是 login_time,那就 login_time >= 'yyyy-MM-dd 00:00:00' and login_time <= 'yyyy-MM-dd 23:59:59'

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/598000

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX