mysql删除表中重复数据
时间: 2023-10-23 13:31:50 浏览: 182
要在MySQL中删除表中的重复数据,可以按照以下步骤进行操作:
1. 创建一个临时表,与原始表具有相同的结构。
2. 使用SELECT语句从原始表中查询出需要更新的数据,并将其插入到临时表中。可以使用GROUP BY和HAVING子句来识别重复的记录。
3. 删除原始表中与临时表中的重复记录相对应的行。可以使用DELETE语句和子查询来实现这一步骤。
4. 最后,您可以选择删除临时表。
下面是一个示例SQL语句,用于在MySQL中删除表中的重复数据:
```
-- 新增测试表
CREATE TABLE basic_farmer (
id INT(11),
user_name VARCHAR(25),
id_card INT(11)
);
-- 删除重复数据
DELETE FROM basic_farmer WHERE id IN (
SELECT id FROM (
SELECT a.id FROM basic_farmer a
LEFT JOIN (
SELECT id_card, MIN(id) id FROM basic_farmer GROUP BY id_card HAVING COUNT(id_card) > 1
) b ON a.id_card = b.id_card
WHERE a.id != b.id
) AS tt
);
```
请注意,上述SQL语句中的表名和字段名需要根据实际情况进行调整,以适应您的数据库结构。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [MySQL中查询、删除重复记录的方法大全](https://blog.csdn.net/doublepg13/article/details/127613922)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [MySql删除表中重复数据](https://blog.csdn.net/weixin_56567361/article/details/127494879)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文