有一个员工考勤打卡表,字段为员工姓名,id,日期,时间,怎么删除时间间隔小于10s的数据
时间: 2023-10-02 20:13:59 浏览: 304
删除b所指数组中小于10的数据
假设员工考勤打卡表名为attendance,可以使用如下 SQL 语句删除时间间隔小于10s的数据:
```
DELETE FROM attendance
WHERE id IN (
SELECT t1.id
FROM attendance t1
JOIN attendance t2
ON t1.id = t2.id AND t1.date = t2.date
WHERE TIMESTAMPDIFF(SECOND, t2.time, t1.time) < 10
);
```
这里使用了子查询和 JOIN 操作,首先找出时间间隔小于10s的数据所对应的 id,并在主查询中删除这些数据。其中使用了 TIMESTAMPDIFF 函数计算时间间隔。
阅读全文