1

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

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 中的查询本身执行此操作......

谢谢大家!

4

2 回答 2

0

此查询将找到所有在 profile 表中具有多于一行的用户,并且这两者之间的间隔大于interval.

SELECT DISTINCT p1 name
FROM profile p1
INNER JOIN profile p2 on p1.name = p2.name
WHERE p2.mytimestamp - p1.mytimestamp > interval;
于 2012-11-23T10:07:22.730 回答
-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                       
于 2012-11-23T09:59:30.963 回答