久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

mysql實現查重只留一個的方法

154次閱讀
沒有評論

共計 2129 個字符,預計需要花費 6 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

這篇文章將為大家詳細講解有關 mysql 實現查重只留一個的方法,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

mysql 實現查重只留一個的方法:首先通過“select * from”查找表中多余的重復記錄;然后通過“delete from”刪除重復數據,并只保留一個數據即可。

mysql 刪除重復數據只保留一條記錄

刪除重復數據保留 name 中 id 最小的記錄

delete from order_info where id not in (select id from (select min(id) as id from order_info group by order_number) as b);
delete from table where id not in (select min(id) from table group by name having count(name) 1) and id in (select id group by name having count(name) 1)

(注意:HAVING 子句對 GROUP BY 子句設置條件的方式與 WHERE 和 SELECT 的交互方式類似。WHERE 搜索條件在進行分組操作之前應用;而 HAVING 搜索條件在進行分組操作之后應用。HAVING 語法與 WHERE 語法類似,但 HAVING 可以包含聚合函數。HAVING 子句可以引用選擇列表中顯示的任意項。)

擴展:

SQL:刪除重復數據,只保留一條用 SQL 語句, 刪除掉重復項只保留一條在幾千條記錄里, 存在著些相同的記錄, 如何能用 SQL 語句, 刪除掉重復的呢

1、查找表中多余的重復記錄,重復記錄是根據單個字段(peopleId)來判斷

select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) 1)

2、刪除表中多余的重復記錄,重復記錄是根據單個字段(peopleId)來判斷,只留有 rowid 最小的記錄

delete from people where peopleName in (select peopleName from people group by peopleName having count(peopleName) 1) and peopleId not in (select min(peopleId) from people group by peopleName having count(peopleName) 1)

3、查找表中多余的重復記錄(多個字段)

select * from vitae a where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) 1)

4、刪除表中多余的重復記錄(多個字段),只留有 rowid 最小的記錄

delete from vitae a where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) 1) and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*) 1)

5、查找表中多余的重復記錄(多個字段),不包含 rowid 最小的記錄

select * from vitae a where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) 1) and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*) 1)

6. 消除一個字段的左邊的第一位:

update tableName set [Title]=Right([Title],(len([Title])-1)) where Title like 村 %

7. 消除一個字段的右邊的第一位:

update tableName set [Title]=left([Title],(len([Title])-1)) where Title like % 村 

8. 假刪除表中多余的重復記錄(多個字段),不包含 rowid 最小的記錄

update vitae set ispass=-1 where peopleId in (select peopleId from vitae group by peopleId,seq having count(*) 1) and seq in(select seq from vitae group by peopleId,seq having count(*) 1)and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*) 1)

關于 mysql 實現查重只留一個的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向 AI 問一下細節

丸趣 TV 網 – 提供最優質的資源集合!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-18發表,共計2129字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 宁南县| 涟源市| 崇州市| 新营市| 女性| 鄂尔多斯市| 色达县| 建水县| 永德县| 同江市| 安图县| 菏泽市| 靖宇县| 乐平市| 澜沧| 泰宁县| 永川市| 宝山区| 五莲县| 吉安市| 兴隆县| 夏河县| 定州市| 南澳县| 都江堰市| 杭锦旗| 中宁县| 和顺县| 康乐县| 昌图县| 平凉市| 陇川县| 都安| 东乡县| 吉安市| 崇仁县| 太仆寺旗| 潼南县| 博兴县| 蒙自县| 韶山市|