所以我有一个类似于
的数据表
每行在Unix时间内都有一个时间戳列。我需要找到具有相同resource_id的两个条目的所有地方x是(日月,年等)相隔的时间量,所以我需要一个查询,将查看一行和下一行之间的差异并吐支持相差超过指定金额的那些。
有人对如何做到有什么想法吗?提前致谢
答案 0 :(得分:0)
您可以使用交叉连接将表格中的每一行与表格中的每一行进行比较,然后比较该字段。例如,以下将返回两行相隔2个月的位置。
SELECT t.resource_id, s.resource_id
FROM table t CROSS JOIN table s
WHERE TIMESTAMPDIFF(MONTH,t.timestamp,s.timestamp) = 2
请注意,如果表格很大,这可能会非常慢。或者根据MySQL docs只是说JOIN而不指定条件会产生相当于交叉连接的笛卡尔积。