my sql 刪除表中重複的數據

1、根據指定條件查詢表中的重複記錄

select * from t_official_sys_user  
where USER_NAME in (select  USER_NAME  from (select  USER_NAME  from  t_official_sys_user  group  by  USER_NAME  having  count(USER_NAME) > 1) as temtalble );  
sql分析:

查詢用戶表: t_official_sys_user ,統計 USER_NAME這個字段判斷大於一條記錄以上的記錄進行分組,然後放到一張臨時表 tamtalbe . 查詢USER_NAME在臨時表中的記錄爲重複記錄.

2、刪除重複記錄


delete from t_official_sys_user  
where USER_NAME IN(select USER_NAME from ( SELECT USER_NAME FROM t_official_sys_user group by `USER_NAME` having  count(1) > 1) as temtable );  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章