2015-03-13 43 views
0

ApplicationDateRecordset如何使用MySQL

我把这个列(数据类型=时间戳)图像从一个查询我执行的MySQL的结果窗口中提取第二组的基于时间戳列记录。我在这个查询结果中有14条记录,我试图做的是删除具有比第一组行(7)晚2分钟的时间戳的记录。任何建议/方向如何做到这一点,将不胜感激。希望这是有道理的。谢谢。

+0

因此,要描述查询,您需要获取最早7条记录的MAX(timestamp),向其中添加2分钟,并删除该表中等于或晚于该值的记录。对? – bloodyKnuckles 2015-03-13 19:31:13

+0

你提到的第一组是7行。这是一个固定值,总是第7排?或者你是否以动态的方式分组记录? – bloodyKnuckles 2015-03-13 19:35:31

+0

种。正如你所看到的第二组行大约2分钟后,但是它是第二组记录有一个时间戳约2分钟后。感谢您的回复。 – Melinda 2015-03-13 19:36:11

回答

0

希望这有助于

SELECT t.* 
FROM table t 
WHERE t.time > DATE_ADD( SELECT MIN(t2.time) 
          FROM table t2 
       , INTERVAL 2 MINUTE) 
0

在MySQL中,删除其时间戳大于或等于晚于第一七个记录最新的时间戳2分钟记录:

DELETE FROM table t1 
WHERE t1.ApplicationDate >= DATE_ADD(
    (SELECT MAX(t1.ApplicationDate) FROM (SELECT ApplicationDate FROM table LIMIT 7) t1) 
    , INTERVAL 2 MINUTE 
) 

说明:

首先我们需要ge t为第7条:

SELECT ApplicationDate FROM table LIMIT 7 

从我们需要得到MAX(最新的)日期和时间:

SELECT MAX(t1.ApplicationDate) FROM (...) 

我们可以再喂,作为第一个参数为DATE_ADD功能,2分钟作为第二个参数:

DATE_ADD((...), INTERVAL 2 MINUTE) 

这给了我们目标的时间戳作为记录删除的条件,使用方法:

DELETE FROM table t1 WHERE t1.ApplicationDate >= (...)