DELETE FROM exam_record WHERE ( timestampdiff( MINUTE, start_time, submit_time ) < 5 OR submit_time IS NULL ) AND start_time IN ( SELECT * FROM ( SELECT start_time FROM exam_record WHERE timestampdiff( MINUTE, start_time, submit_time ) < 5 OR submit_time IS NULL ORDER BY start_time ASC LIMIT 3 ) a ) timestampdiff or submit_time is null 去查询要求的值 用子查询去查找满足条件时start_time最小的3个值 同时,mysql环境中不允许先select一些值再delete,需要外层再套select * 解决