共計(jì) 944 個(gè)字符,預(yù)計(jì)需要花費(fèi) 3 分鐘才能閱讀完成。
這篇文章主要介紹“mysql 如何去掉重復(fù)記錄”,在日常操作中,相信很多人在 mysql 如何去掉重復(fù)記錄問(wèn)題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”mysql 如何去掉重復(fù)記錄”的疑惑有所幫助!接下來(lái),請(qǐng)跟著丸趣 TV 小編一起來(lái)學(xué)習(xí)吧!
mysql 去掉重復(fù)記錄的方法:1、使用“select distinct name from a where statesign=0”命令去除重復(fù)記錄;2、使用“select name from a where statesign=0 group by name”命令去除重復(fù)記錄。
mysql 查詢?nèi)コ貜?fù)記錄
1:使用 distinct
select distinct name from a where statesign=0
查詢表 a 中的 name 字段,去除重復(fù)記錄
2: 使用 group by
select name from a where statesign=0 group by name
查詢表 a 中的 name 字段,分組,去除重復(fù)記錄
distinct 使用時(shí)要放在第一個(gè)位置否則會(huì)報(bào)錯(cuò)
相關(guān)拓展:
DISTINCT 實(shí)際上和 GROUP BY 操作的實(shí)現(xiàn)非常相似,只不過(guò)是在 GROUP BY 之后的每組中只取出一條記錄而已。所以,DISTINCT 的實(shí)現(xiàn)和 GROUP BY 的實(shí)現(xiàn)也基本差不多,沒(méi)有太大的區(qū)別。同樣可以通過(guò)松散索引掃描或者是緊湊索引掃描來(lái)實(shí)現(xiàn),當(dāng)然,在無(wú)法僅僅使用索引即能完成 DISTINCT 的時(shí)候,MySQL 只能通過(guò)臨時(shí)表來(lái)完成。
但是,和 GROUP BY 有一點(diǎn)差別的是,DISTINCT 并不需要進(jìn)行排序。也就是說(shuō),在僅僅只是 DISTINCT 操作的 Query 如果無(wú)法僅僅利用索引完成操作的時(shí)候,MySQL 會(huì)利用臨時(shí)表來(lái)做一次數(shù)據(jù)的“緩存”,但是不會(huì)對(duì)臨時(shí)表中的數(shù)據(jù)進(jìn)行 filesort 操作。
當(dāng)然,如果我們?cè)谶M(jìn)行 DISTINCT 的時(shí)候還使用了 GROUP BY 并進(jìn)行了分組,并使用了類(lèi)似于 MAX 之類(lèi)的聚合函數(shù)操作,就無(wú)法避免 filesort 了。
到此,關(guān)于“mysql 如何去掉重復(fù)記錄”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注丸趣 TV 網(wǎng)站,丸趣 TV 小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!