Mysql 如果我的条件使用同一表中另一行的数据,我如何获取数据?

Mysql 如果我的条件使用同一表中另一行的数据,我如何获取数据?,mysql,sql,Mysql,Sql,我有这张桌子: | id | created_at | updated_at | visited_page | visited_date | user_id | +----+----------------------------+----------------------------+-------------------+--------------+----- | 1 | 2020-12-28 18:09:40.24356

我有这张桌子:

| 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 |
+----+----------------------------+----------------------------+-------------------+--------------+-----
在这里,我想获取
用户ID
,其中同一用户访问的两个不同页面之间的
更新时间差在特定日期大于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
选择不同的t1.user\u id
来自表1 t1
加入表1 t2
t1.访问日期=t2.访问日期
时间差(分钟,t1.updated_at,t2.updated_at)>6
t1.访问页面t2.访问页面
t1.date=2020-12-29

没有测试,但类似这样的东西应该是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
选择不同的t1.user\u id
来自表1 t1
加入表1 t2
t1.访问日期=t2.访问日期
时间差(分钟,t1.updated_at,t2.updated_at)>6
t1.访问页面t2.访问页面
t1.date=2020-12-29

Hi Arpit,您应该提供一些代码和您为实现目标所做的努力,而不仅仅是您想要的,期待S.O用户为您的工作。Hi Arpit,您应该提供一些代码和您为实现目标所做的努力,而不仅仅是您想要的,期待S.O用户为您的工作。