删除emp_no重复的记录,只保留最小的id对应的记录。
时间: 2024-05-03 16:21:17 浏览: 139
ZGG2016#sql-practice-niuke#SQL42:删除emp_no重复的记录,只保留最小的id对应的记录1
可以使用以下SQL语句实现:
```sql
DELETE FROM employees
WHERE id NOT IN (
SELECT min_id
FROM (
SELECT MIN(id) AS min_id
FROM employees
GROUP BY emp_no
) AS t
);
```
这里使用了子查询,首先通过分组得到每个emp_no对应的最小id,然后再将这些最小id作为子查询的结果,使用NOT IN语句删除其他id对应的记录。这样就可以保留每个emp_no对应的最小id的记录,达到删除重复记录的目的。
阅读全文