如何使用SQL和Python连接两个具有日期条件的表?

如何使用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

我有一个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
这是一个
加入
分组依据
。大概是这样的:

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