Mysql 通过基于分钟跳过记录从表中获取数据

Mysql 通过基于分钟跳过记录从表中获取数据,mysql,Mysql,我在mysql中有tracklog表,它有各种字段,包括datetime字段 跟踪日志数据 id pos_datetime 1 2015-05-05 12:08:50 2 2015-05-05 12:08:30 3 2015-05-05 12:07:40 4 2015-05-05 12:07:20 5 2015-05-05 12:07:10 6 2015-05-05 12:06:05 7 2015-05-05 12:06:01 8 2015-05-05

我在mysql中有tracklog表,它有各种字段,包括datetime字段

跟踪日志数据

id  pos_datetime
1   2015-05-05 12:08:50 
2   2015-05-05 12:08:30 
3   2015-05-05 12:07:40
4   2015-05-05 12:07:20
5   2015-05-05 12:07:10  
6   2015-05-05 12:06:05
7   2015-05-05 12:06:01
8   2015-05-05 12:05:30
9   2015-05-05 12:05:10
10  2015-05-05 12:04:30
11  2015-05-05 12:04:20
12  2015-05-05 12:03:50 
13  2015-05-05 12:03:20
14  2015-05-05 12:02:50
15  2015-05-05 12:02:40
16  2015-05-05 12:02:10
17  2015-05-05 12:01:40
18  2015-05-05 12:01:10
19  2015-05-05 12:01:05
20  2015-05-05 12:00:30
21  2015-05-05 11:59:30
我希望数据以分钟为单位,这意味着如果有两条记录具有相同的分钟,那么只有第一条记录会跳过所有具有相同小时和分钟的其他记录。然后,它还应该跳过接下来的两分钟记录,移动到第三分钟,并继续这样做

例如,我需要跳过的时间限制是2分钟

id  pos_datetime
1   2015-05-05 12:08:30
8   2015-05-05 12:05:30
14  2015-05-05 12:02:50
21  2015-05-05 11:59:30
请帮助我,我很高兴..

您可以使用DATE()、HOUR()、MINUTE()

例如:

SELECT Id, Pos_Datetime
FROM Dummy 
WHERE Id IN (
    SELECT MIN(Id)
    FROM Dummy
    GROUP BY DATE(Pos_Datetime), HOUR(Pos_Datetime), MINUTE(Pos_Datetime));
您可以使用DATE()、HOUR()、MINUTE()

例如:

SELECT Id, Pos_Datetime
FROM Dummy 
WHERE Id IN (
    SELECT MIN(Id)
    FROM Dummy
    GROUP BY DATE(Pos_Datetime), HOUR(Pos_Datetime), MINUTE(Pos_Datetime));