[英]How can I fetch data where my condition uses data from another row of same table?
我有这张桌子:
| id | created_at | updated_at | visited_page | visited_date | user_id |
+----+----------------------------+----------------------------+-------------------+--------------+-----
| 1 | 2020-12-28 18:09:40.243560 | 2020-12-28 18:09:40.244170 | 1 | 2020-12-28 | 78557 |
| 2 | 2020-12-28 18:10:41.290824 | 2020-12-28 18:10:41.291217 | 1 | 2020-12-29 | 78557 |
| 3 | 2020-12-28 18:19:36.948853 | 2020-12-28 18:19:36.949289 | 3 | 2020-12-29 | 78557 |
+----+----------------------------+----------------------------+-------------------+--------------+-----
在这里,我想获取user_ids
,其中同一用户访问的两个不同页面之间的updated_at
差异在特定日期大于 6 分钟(在上表中,日期 = 2020-12-29)。
请解释此查询在 SQL 中的外观?
没有测试,但这样的事情应该是naswer:
SELECT DISTINCT t1.user_id
FROM table1 t1
JOIN table1 t2
ON t1.visiated_date = t2.visited_date
AND TIMESTAMPDIFF(MINUTE, t1.updated_at, t2.updated_at) > 6
AND t1.visited_page <> t2.visited_page
AND t1.date = 2020-12-29
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.