mysql - 过滤 MySQL 时间戳

标签 mysql timestamp

我是新人,希望得到帮助!如果一个或多个“ID”缺少时间戳,则需要删除行。例如,在下表中,ID = 10 没有 IRIG_Time = 2014-05-15 09:05:00.000 的值,因此我需要删除该时间戳的所有 IRIG_Time 行。我正在使用以下查询来提取数据(感谢 Barmar 迄今为止的帮助!)。

CREATE TABLE Table1 
SELECT * 
FROM originaltable  Where IRIG_Time between  '2014/05/15 09:05' and '2014/05/15 09:35';
DELETE t.* FROM Table1 AS t
JOIN (
SELECT IRIG_Time
FROM Table1
GROUP BY IRIG_Time
HAVING COUNT(*) != 5
) AS t1 ON t.IRIG_TIME = t1.IRIG_TIME;
select * from Table1; 


IRIG_Time                   ID      MagnitudeA
2014-05-15 09:05:00.000     5       730406000
2014-05-15 09:05:00.000     15      742456000
2014-05-15 09:05:00.000     20      731190000
2014-05-15 09:05:00.000     25      748572000
2014-05-15 09:05:00.033     5       730343000
2014-05-15 09:05:00.033     10      755865000
2014-05-15 09:05:00.033     15      742347000
2014-05-15 09:05:00.033     20      731168000
2014-05-15 09:05:00.033     25      748574000
2014-05-15 09:05:00.067     5       730420000
2014-05-15 09:05:00.067     10      755767000
2014-05-15 09:05:00.067     15      742310000
2014-05-15 09:05:00.067     20      731176000
2014-05-15 09:05:00.067     25      748524000

使用上述代码时,我收到错误代码:1175 您正在使用安全更新模式,并且尝试更新没有使用 KEY 列的 WHERE 的表要禁用安全模式,请在“首选项”->“SQL 查询”中切换该选项,然后重新连接。

最佳答案

DELETE t.* FROM table AS t
JOIN (
    SELECT IRIG_Time
    FROM table
    GROUP BY IRIG_Time
    HAVING COUNT(*) != (SELECT COUNT(DISTINCT ID) FROM table)
    ) AS t1 ON t.IRIG_TIME = t1.IRIG_TIME

DEMO

关于mysql - 过滤 MySQL 时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23706306/

相关文章:

php - 我可以获得特定时区的时间戳吗?

python - 属性错误 : 'Timestamp' object has no attribute 'timestamp'

mysql - 如何使用自增整数主键合并多个文件?

mysql - 如何在 MYSQL 的 where 子句中使用 Concat?

php - PHP 代码中的 Mysql 查询不起作用

java - 如何将 Timestamp 转换为 Date 或 DateTime 对象?

JavaScript 日期到时间戳计算不适用于任何一个月的 8 号和 9 号

mysql - 创建主键或唯一键

php - echo 中三元运算符的问题

MySQL InnoDB 表丢失,不计入数据库结构