【发布时间】:2021-03-09 20:52:31
【问题描述】:
我想根据其他时间戳连接两个表
表 A:
username | activity | timestamp
A activity1 2020-01-01 01:00:00
A activity2 2020-01-01 02:00:00
A activity3 2020-01-01 03:00:00
B activity1 2020-01-01 02:00:00
B activity2 2020-01-01 03:00:00
B activity3 2020-01-01 04:00:00
表 B:
username | clickId | timestamp
A click1 2020-01-01 00:00:00
A click2 2020-01-01 01:30:00
A click3 2020-01-01 01:45:00
B click1 2020-01-01 00:00:00
B click2 2020-01-01 00:30:00
B click3 2020-01-01 03:35:00
需要将活动表中的所有活动与每个用户执行的点击表中的最近点击匹配
与每个活动匹配的点击必须是在活动时间戳之前发生的最近一次点击
输出:
A activity1 click1 - since for activity1 click1 is the timestamp smaller than it
A activity2 click3
A activity3 click3
B activity1 click2
B activity2 click2
B activity3 click3
我尝试了多个查询但没有成功
【问题讨论】:
-
您使用的是 MySQL 还是 MS SQL Server?我认为他们的日期/时间函数不兼容。
-
什么是精确 MySQL 版本?每个
username系列的平均行数是多少?