存在一张数据表TBL1,表中有A,B两个字段,并且存在以下俩个前提: A是主键而且唯一,在实际数据中肯有多条数据的B字段值相同。 要求给出一个SQL语句,实现可以删除TBL1中的B字段重复的数据,当重复发生时保留A字段值最大的那条数据
时间: 2023-03-27 14:05:07 浏览: 141
MySQL数据库的基本操作
可以使用以下SQL语句实现:
DELETE FROM TBL1
WHERE A NOT IN (
SELECT MAX(A)
FROM TBL1
GROUP BY B
)
AND B IN (
SELECT B
FROM TBL1
GROUP BY B
HAVING COUNT(*) > 1
);
这个SQL语句会删除TBL1中B字段重复的数据,只保留A字段值最大的那条数据。
阅读全文