MySQL 去除重復(fù)數(shù)據(jù)實(shí)例詳解
MySQL 去除重復(fù)數(shù)據(jù)實(shí)例詳解
有兩個(gè)意義上的重復(fù)記錄,一是完全重復(fù)的記錄,也即所有字段均都重復(fù),二是部分字段重復(fù)的記錄。對(duì)于第一種重復(fù),比較容易解決,只需在查詢語句中使用distinct關(guān)鍵字去重,幾乎所有數(shù)據(jù)庫系統(tǒng)都支持distinct操作。發(fā)生這種重復(fù)的原因主要是表設(shè)計(jì)不周,通過給表增加主鍵或唯一索引列即可避免。
select distinct * from t;
對(duì)于第二類重復(fù)問題,通常要求查詢出重復(fù)記錄中的任一條記錄。假設(shè)表t有id,name,address三個(gè)字段,id是主鍵,有重復(fù)的字段為name,address,要求得到這兩個(gè)字段唯一的結(jié)果集。
-- Oracle、MySQL,使用相關(guān)子查詢
select * from t t1 where t1.id = (select min(t2.id) from t t2 where t1.name = t2.name and t1.address = t2.address);
-- Hive只支持在FROM子句中使用子查詢,子查詢必須有名字,并且列必須唯一
select t1.* from t t1, (select name, address, min(id) id from t group by name, address) t2 where t1.id = t2.id;
-- 還可以使用hive的row_number()分析函數(shù)
select t.id, t.name, t.address
from (select id, name, address,
row_number() over (distribute by name, address sort by id) as rn
from t) t
where t.rn=1;
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- mysql 數(shù)據(jù)表中查找重復(fù)記錄
- MySQL 刪除數(shù)據(jù)庫中重復(fù)數(shù)據(jù)方法小結(jié)
- MySQL查詢重復(fù)數(shù)據(jù)(刪除重復(fù)數(shù)據(jù)保留id最小的一條為唯一數(shù)據(jù))
- 很全面的MySQL處理重復(fù)數(shù)據(jù)代碼
- MySQL數(shù)據(jù)庫中刪除重復(fù)記錄的方法總結(jié)[推薦]
- 有效查詢MySQL表中重復(fù)數(shù)據(jù)的方法和技巧分享
- 刪除MySQL重復(fù)數(shù)據(jù)的方法
- MySQL中刪除重復(fù)數(shù)據(jù)的簡單方法
- MYSQL刪除重復(fù)數(shù)據(jù)的簡單方法
- MySQL處理重復(fù)數(shù)據(jù)完整代碼實(shí)例
相關(guān)文章
修改MySQL8.0 默認(rèn)的數(shù)據(jù)目錄(快捷操作無配置)
這篇文章主要介紹了修改MySQL8.0 默認(rèn)的數(shù)據(jù)目錄(快捷操作無配置),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
MySQL判斷查詢條件是否包含某字符串的7種方式總結(jié)
SQLServer數(shù)據(jù)庫死鎖是指在多個(gè)事務(wù)同時(shí)訪問數(shù)據(jù)庫資源時(shí),發(fā)生了互相等待對(duì)方所持有資源的情況,導(dǎo)致所有事務(wù)無法繼續(xù)執(zhí)行的現(xiàn)象,這篇文章主要給大家介紹了關(guān)于MySQL判斷查詢條件是否包含某字符串的7種方式,需要的朋友可以參考下2024-07-07
遠(yuǎn)程無法連接Linux上MySQL的問題解決辦法
MySQL不允許遠(yuǎn)程連接的問題通??梢酝ㄟ^配置用戶權(quán)限、修改MySQL配置文件以及調(diào)整系統(tǒng)防火墻設(shè)置來解決,這篇文章主要介紹了遠(yuǎn)程無法連接Linux上MySQL的問題解決辦法,需要的朋友可以參考下2025-09-09
MySQL運(yùn)維實(shí)戰(zhàn)使用RPM進(jìn)行安裝部署
這篇文章主要為大家介紹了MySQL運(yùn)維實(shí)戰(zhàn)使用RPM進(jìn)行安裝部署實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12
MySQL轉(zhuǎn)換Oracle的需要注意的七個(gè)事項(xiàng)
有很多應(yīng)用項(xiàng)目, 剛起步的時(shí)候用MySQL數(shù)據(jù)庫基本上能實(shí)現(xiàn)各種功能需求,隨著應(yīng)用用戶的增多,數(shù)據(jù)量的增加,MySQL漸漸地出現(xiàn)不堪重負(fù)的情況:連接很慢甚至宕機(jī),于是就有MySQL轉(zhuǎn)換Oracle的需求,應(yīng)用程序也要相應(yīng)做一些修改。2010-12-12
Mysql TIMESTAMPDIFF函數(shù)示例詳解
這篇文章主要介紹了Mysql TIMESTAMPDIFF函數(shù)示例詳解,TIMESTAMPDIFF函數(shù)返回datetime_expr2 - datetime_expr1的結(jié)果,其中datetime_expr1和datetime_expr2可以是DATE或DATETIME類型值,本文給大家詳細(xì)講解,需要的朋友可以參考下2023-03-03

