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

mysql重复数据只保留一条

作者:热血震荡   发布日期:2025-08-18   浏览:47

-- 删除重复数据,只保留一条
-- 假设我们有一个名为 `users` 的表,其中 `email` 列有重复的数据,我们希望只保留每个 `email` 的第一条记录

DELETE FROM users
WHERE id NOT IN (
    SELECT * FROM (
        SELECT MIN(id)
        FROM users
        GROUP BY email
    ) AS temp
);

-- 解释:
-- 1. 内层查询 (SELECT MIN(id) FROM users GROUP BY email) 找出每个 `email` 的最小 `id`,即每组重复数据中最早的那条记录。
-- 2. 外层查询 (DELETE FROM users WHERE id NOT IN (...)) 删除所有不在内层查询结果中的记录,也就是删除所有重复的记录,只保留每组中最早的那一条。

上一篇:mysql with rollup

下一篇:彻底删除mysql

大家都在看

mysqlavg函数保留小数

mysql显示表内容

mysql经纬度距离计算

存储过程mysql

mysql with语句

mysql时间加减

brew 启动mysql

unsigned在mysql中是什么意思

mysql 插入更新

mysql代码

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

Laravel 中文站