两条记录之间的时间间隔

时间:2012-11-23 09:43:33

标签: mysql

嗨,我有一个小问题你可以帮我吗?

SELECT  `name` ,  `mytimestamp` 
FROM  `profile` 
WHERE  `mytimestamp` between '2012-10-24 05:59:00' AND '2012-10-25 05:59:00' 
ORDER BY `name` , `mytimestamp`

上面的查询给我列出了来自我的表的大约3000条记录,在我的表中有100个名字存在,这些名称有几个时间戳可用, 现在我的问题是我必须找到一个有3个小时差距的名字?

我需要从mysql中的查询本身做到这一点......

总而言之!

2 个答案:

答案 0 :(得分:0)

此查询将查找配置文件表中包含多行的所有用户,并且这两者之间的间隔大于interval

SELECT DISTINCT p1 name
FROM profile p1
INNER JOIN profile p2 on p1.name = p2.name
WHERE p2.mytimestamp - p1.mytimestamp > interval;

答案 1 :(得分:-2)

这可能会有所帮助

 SELECT *
      FROM table
     WHERE datetime BETWEEN TO_DATE ('10/30/2012 06:00:00',
                                              'MM/DD/YYYY HH24:MI:SS'
                                             )
                                 AND TO_DATE ('10/30/2012 16:12:00',
                                              'MM/DD/YYYY HH24:MI:SS'
                                             )
                AND  TO_DATE ('10/30/2012 16:12:00',
                                              'MM/DD/YYYY HH24:MI:SS'
                                             )-  TO_DATE ('10/30/2012 06:12:00',
                                              'MM/DD/YYYY HH24:MI:SS'
                                             )>2