Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

mysql删除重复数据只保留一条

作者:自然ㄣ之光   发布日期:2025-11-20   浏览:44

-- 删除重复数据只保留一条的示例代码

-- 假设我们有一个名为 `users` 的表,其中包含以下字段:
-- id (主键), name, email

-- 1. 首先,我们需要找到重复的数据。这里以 `email` 字段为例,找出所有重复的 `email`。
WITH Duplicates AS (
    SELECT email, MIN(id) AS min_id
    FROM users
    GROUP BY email
    HAVING COUNT(email) > 1
)

-- 2. 然后,删除这些重复的数据,只保留每个 `email` 的最小 `id` 记录。
DELETE FROM users
WHERE id NOT IN (
    SELECT min_id
    FROM Duplicates
)
AND email IN (
    SELECT email
    FROM Duplicates
);

-- 解释:
-- 1. 使用 `WITH` 子句创建一个临时表 `Duplicates`,其中包含每个重复 `email` 的最小 `id`。
-- 2. 使用 `DELETE` 语句删除那些 `id` 不在 `min_id` 列表中的记录,并且 `email` 在 `Duplicates` 中出现。
-- 这样就可以确保每个 `email` 只保留一条记录,删除其他重复的记录。

上一篇:mysql关联更新

下一篇:mysql区分大小写

大家都在看

mysqlavg函数保留小数

mysql显示表内容

mysql经纬度距离计算

mysql 加密

存储过程mysql

mysql 1265

mysql with语句

mysql时间加减

mysql查询表名,模糊匹配

brew 启动mysql

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站