Mysql 通过基于分钟跳过记录从表中获取数据
我在mysql中有tracklog表,它有各种字段,包括datetime字段 跟踪日志数据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
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));