可以使用以下语句进行分组查询并删除重复数据:
DELETE FROM table_name
WHERE id NOT IN (
SELECT min_id FROM (
SELECT MIN(id) AS min_id
FROM table_name
GROUP BY column_name
) AS t
)
其中,table_name
替换为需要操作的表名,column_name
替换为用于判断重复的列名。
这条语句会先通过 GROUP BY column_name
对数据进行分组,然后在每个分组中选择 id
最小的一条记录保留(即 SELECT MIN(id) AS min_id
),最后通过子查询将保留的记录的 id
值提取出来,将其余记录删除。