-- 使用 GROUP BY 和 HAVING 进行去重,只保留每组中的一条记录
DELETE t1 FROM table_name t1
INNER JOIN table_name t2
WHERE t1.id > t2.id AND t1.column_name = t2.column_name;
-- 解释:上述 SQL 语句通过自连接的方式,删除表中重复的记录,只保留每个重复组中的第一条记录。
-- 其中 `column_name` 是你想要去重的列,`id` 是主键或唯一标识列。
-- 使用 DISTINCT 关键字进行去重查询(适用于查询而不是删除)
SELECT DISTINCT column_name, another_column, ...
FROM table_name;
-- 解释:上述 SQL 语句使用 `DISTINCT` 关键字来去除查询结果中的重复行。它适用于查询操作,不会修改原表数据。
-- 使用临时表进行去重并更新原表
CREATE TEMPORARY TABLE temp_table AS
SELECT DISTINCT * FROM table_name;
TRUNCATE TABLE table_name;
INSERT INTO table_name SELECT * FROM temp_table;
-- 解释:上述 SQL 语句通过创建一个临时表来存储去重后的数据,然后清空原表并将去重后的数据重新插入到原表中。
上一篇:mysql建表时添加索引
下一篇:mysql索引失效的情况
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站