MySQL查询某些字段相同的重复数据 |
您所在的位置:网站首页 › 2张表格查找重复数据怎么操作的呢 › MySQL查询某些字段相同的重复数据 |
要根据两个字段查询 MySQL 中的重复数据,可以使用 GROUP BY 和 HAVING 子句来实现。以下是一个示例: 假设有一个表名为 your_table,包含两个字段 field1 和 field2,可以这样查询重复数据: SELECT field1, field2, COUNT(*) AS count FROM your_table GROUP BY field1, field2 HAVING COUNT(*) > 1;这个查询将根据 field1 和 field2 进行分组,然后使用 HAVING 子句筛选出重复数据,即出现次数大于 1 的数据。查询结果将会包含重复的 field1 和 field2 组合以及它们的重复次数。 如果你想要获取重复数据的所有信息,可以使用如下查询: SELECT * FROM your_table WHERE (field1, field2) IN ( SELECT field1, field2 FROM your_table GROUP BY field1, field2 HAVING COUNT(*) > 1 );这个查询将会返回所有包含重复 field1 和 field2 组合的记录。 重复的数据查询出来了,怎么清理呢,这里提供一个示例,只保留最早的或者指定字段为指定值的记录: DELETE t1 FROM project_user_attendance t1 JOIN ( SELECT attend_date, user_id, project_id, MIN( id ) AS min_id FROM project_user_attendance GROUP BY attend_date, user_id, project_id HAVING COUNT(*) > 1 ) t2 ON t1.attend_date = t2.attend_date AND t1.user_id = t2.user_id AND t1.project_id = t2.project_id AND ( t1.id > t2.min_id OR t1.attend_on_status != '4' );这样我就将t1.attend_on_status=4或者最早的一条数据保留了,别的就删除了 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |