如何使用SQL和Python连接两个具有日期条件的表?
我有一个SQL数据库,有两个表,分别称为用户和用户活动(见下文)。我试图从id_用户的查询中获取一个数据帧,以及用户在注册第二天之后进行的会话数。为了识别会话,我们在表user\u activities中有活动“session” 为此,我需要合并两个表。第一个名为“用户”,提供用户id和注册日期: 用户表格: 用户id 注册日期 1. 2021-01-10 04:37:14 1. 2021-01-10 10:37:24 2. 2021-01-10 20:37:44 3. 2021-01-10 20:10:14 2. 2021-01-10 10:37:04如何使用SQL和Python连接两个具有日期条件的表?,python,mysql,sql,dataframe,Python,Mysql,Sql,Dataframe,我有一个SQL数据库,有两个表,分别称为用户和用户活动(见下文)。我试图从id_用户的查询中获取一个数据帧,以及用户在注册第二天之后进行的会话数。为了识别会话,我们在表user\u activities中有活动“session” 为此,我需要合并两个表。第一个名为“用户”,提供用户id和注册日期: 用户表格: 用户id 注册日期 1. 2021-01-10 04:37:14 1. 2021-01-10 10:37:24 2. 2021-01-10 20:37:44 3. 2021-01-10 2
这是一个
加入
和分组依据
。大概是这样的:
SELECT u.user_id, COUNT(*)
FROM users u JOIN
user_activities ua
on ua.user = u.user_id
WHERE ua.name = 'session' AND
ua.date > u.registration_date + interval 1 day
GROUP BY u.user_id;
我不确定你所说的“注册后第二天的会议次数”到底是什么意思。这解释为“注册后至少24小时”。对于其他定义,可以调整逻辑
根据您的评论,您希望:
ua.date > date(u.registration_date) + interval 2 day
是 啊“注册第二天之后的会话数。”意味着如果某人在10日注册,我想查看12日之后的会话数。我认为您的解决方案已经可以将间隔日设置为2,而不是1