mysql - 如何在我的条件使用同一表的另一行数据的情况下获取数据?
问题描述
我有这张桌子:
| 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
推荐阅读
- apache-spark - 如何找到从 YARN(例如 Spark 或 Hive)运行的作业反序列化的路径
- python - 是否可以获得周期索引或周期范围的日期-年份属性?
- java - java - 如何以随机方式擦洗Java中的出生日期,这会导致当我输入相同的原始出生日期时生成相同的随机数
- java - 不会在 android studio 的 firebase 中保存自定义 java 对象
- php - 在 Laravel 5.8 中根据所选类别显示产品?
- html - 从 pc 视图转到移动设备时,无法在响应式网站上的 div 内对齐(居中)文本
- asp.net - 文件夹的自定义路径
- javascript - 使用 jQuery 为复选框创建 PHP 友好数组
- azure-devops - 有没有办法让 Azure DevOps 版本只发布来自构建管道的实际最新更改?
- google-apps-script - 批处理和 API - 性能