【发布时间】:2017-11-05 02:48:22
【问题描述】:
我有一个包含 session_id、user_id、start_time 和 value 的表
从技术上讲,用户应该每 30 分钟获得一个新的 session_id,因此绝不应该出现 2 个条目具有相同的 user_id 但它们的开始时间彼此相差 30 分钟之内的情况。
如何运行查询来查找这些错误情况?
我做了这样的事情来查看给定用户的条目的一些时间差异:
select t1.start_time - t2.start_time
from user_sessions as t1 inner join
user_sesssions as t2
on t1.user_id = 1 and t2.user_id = 1
我知道我正在寻找以下情况:
((t1.start_time-t2.start_time) < 60*30*1000000 and (t1.start_time-t2.start_time) > 0) and t1.user_id = t2.user_id
我只是不确定如何将这两个部分放在一个查询中。
【问题讨论】:
标签: sql postgresql