-- 删除重复数据保留一条SQL示例
-- 假设有一个表名为 `my_table`,其中包含字段 `id`(主键)、`name` 和 `age`。
-- 我们希望删除 `name` 字段重复的数据,只保留每组重复数据中的一条记录。
DELETE t1 FROM my_table t1
INNER JOIN my_table t2
WHERE t1.id > t2.id AND t1.name = t2.name;
-- 解释:
-- 1. 使用自连接 (self-join) 将表与自身连接,条件是 `t1.name = t2.name`,即找到所有 `name` 相同的记录。
-- 2. 通过 `t1.id > t2.id` 确保只删除 `id` 较大的重复记录,保留 `id` 最小的那一行。
-- 3. 这样可以确保每组重复数据中只保留一条记录。
上一篇:mysql执行sql
下一篇:mysql fulltext
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站