創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!
成都創(chuàng)新互聯(lián)公司從2013年成立,先為定興等服務(wù)建站,定興等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為定興企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。小編給大家分享一下MySQL實(shí)現(xiàn)數(shù)據(jù)去重的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
MySQL怎么實(shí)現(xiàn)數(shù)據(jù)去重
1、使用distinct去重(適合查詢整張表的總數(shù))
有多個(gè)學(xué)校+教師投稿,需要統(tǒng)計(jì)出作者的總數(shù)
select count(author) as total from files
每個(gè)作者都投稿很多,這里有重復(fù)的記錄。
select distinct author from files;
有可能兩個(gè)學(xué)校的教師姓名相同,結(jié)果只統(tǒng)計(jì)一個(gè),出錯(cuò)。
select distinct author,sid from files
統(tǒng)計(jì)(作者+學(xué)校id)的組合唯一值,結(jié)果出現(xiàn)正確的結(jié)果,但如何知道一共有多少人呢?
select count(distinct author,sid) as total from files
2、group by 分組去重(適合根據(jù)條件分組后查詢每組的總數(shù))
select author, count(distinct id) from files group by sid
3、記錄兩張表的數(shù)目的和,這兩個(gè)表分開查詢
SELECT SUM? FROM (SELECT COUNT(DISTINCT from_user_id, message_id) c FROM im_message WHERE dr = 0 AND message_status = 2 AND user_type = 1 AND to_user_id = 2 UNION ALL SELECT COUNT(DISTINCT group_id, message_id) c FROM im_messagerefgroup WHERE dr = 0 AND user_id = 2 ) AS temp ;
看完了這篇文章,相信你對MySQL實(shí)現(xiàn)數(shù)據(jù)去重的方法有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!