1
A
回答
2
随着对你的表一点信息,这是没有比你一个基本的想法更多,但你可以做这样的事情: -
SELECT COUNT(*)
FROM
(
SELECT a.TimeStamp AS ThisTimeStamp, MIN(b.TimeStamp) AS NextTimeStamp
FROM SomeTable a
INNER JOIN SomeTable b
ON a.TimeStamp < b.TimeStamp
GROUP BY a.TimeStamp
) Sub1
WHERE Sub1.ThisTimeStamp < (Sub1.NextTimeStamp - 600)
获取所有的时间戳和他们一起反对所有其他更大的时间戳,并使用MIN将其缩小到下一个最大的时间戳。然后从中选择差值小于600秒的计数(假设为unix时间戳)。
编辑 - 如果你想拴住了10分钟+空白事件的用户则数量: -
SELECT COUNT(*)
FROM
(
SELECT a.user_id, a.TimeStamp AS ThisTimeStamp, MIN(b.TimeStamp) AS NextTimeStamp
FROM SomeTable a
INNER JOIN SomeTable b
ON a.TimeStamp < b.TimeStamp
AND a.user_id = b.user_id
GROUP BY a.user_id, a.TimeStamp
) Sub1
WHERE Sub1.ThisTimeStamp < (Sub1.NextTimeStamp - 600)
相关问题
- 1. 按时间段分组的结果
- 2. 按列分组MySQL结果
- 3. 在给定的时间段内按月分组查询结果
- 4. 按多列和时间跨度对MYSQL结果进行分组
- 5. 按字段分组的结果
- 6. 按字段分组的SQL TOP结果
- 7. 按结果分组的MySql数
- 8. SQL Server:按时间间隔分组的结果
- 9. Python:按时间间隔分组的结果
- 10. 按结果分组排序MySQL
- 11. MySQL PHP - 按日/月/年分组结果?
- 12. 按日期分组MYSQL结果行
- 13. 分组结果按日期在MySQL
- 14. Mysql查询 - 在5分钟内按日期时间段分组
- 15. Mysql Group按时间结果集群
- 16. 按时间限制SQL结果,MySQL
- 17. MySQL:按时间比较结果排序
- 18. 按时间间隔对查询结果进行分组聚合
- 19. 如何按时间间隔对结果进行分组?
- 20. 按时间段分组的项目
- 21. MySQL的分组结果
- 22. MySQL的:分组结果
- 23. 按DAYNAME分组的MySQL时间范围
- 24. 按时间分组的MySql查询
- 25. 按列分组的结果
- 26. sqlite:按时间戳和时间间隔为5分钟的结果组总和
- 27. 按发布时间分类结果?
- 28. 按Teradata中的时间查询分组结果
- 29. SQL查询时间戳日期字段,并按日期分组所有结果
- 30. 按日历时间间隔分组的时间段和ID
你能证明你的表结构。一些数据。请问您已经尝试过的查询? –
首先,是的,这是可能的,但你的问题是模糊地告诉什么是一个好方法。其次,从您的“10分钟事件差异”给出,我嗅到用户不活动后自动注销的要求?这可以解决而不会损害数据库 – Najzero
它不是一个真正的自动注销,但如果用户空闲了10分钟,这表明有两个单独的活动 – Ulile