首頁  >  文章  >  資料庫  >  mysql怎樣查詢重複字段

mysql怎樣查詢重複字段

WBOY
WBOY原創
2022-01-12 10:17:2523709瀏覽

在mysql中,可以利用count()函數來查詢重複字段,該函數能夠傳回指定條件的結果,語法為「 SELECT 字段值COUNT(*) as count FROM 表名GROUP BY 字段值having count>1;」。

mysql怎樣查詢重複字段

本教學操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。

mysql怎樣查詢重複欄位

範例  accountinfo 資料表資料如下:

mysql怎樣查詢重複字段

#場景一   單一欄位重複資料查找& 去重

我們要把上面這個表中單一欄位account欄位相同的資料找出來。

想法分三步驟簡述:

第一步

要找出重複數據,我們首先想到的就是,既然是重複,那麼數量就是大於1  就算是重複。那就是 count 函數 。

因為我們要排查的是 單一 欄位account ,那麼就是需要按照 account 欄位 維度 去分組。  那就是 group by 函數。

那麼我們第一步寫出來的mysql 語句是:

 SELECT account ,COUNT(account) as count FROM accountinfo GROUP BY account;

查詢結果如下:

mysql怎樣查詢重複字段

第二步 

沒錯,如我們所想,count大於1的就是account為A  和B 的資料。

那麼我們稍作篩選,只把count大於1的資料的account  找出來。

 第二步,利用having 拼接篩選條件,寫出來的mysql 語句是:

 SELECT account FROM accountinfo GROUP BY account HAVING COUNT(account) > 1;

查詢結果如下:

mysql怎樣查詢重複字段

 第三步驟

重複的account資料A B 都找出來了,接下來我們只需要把account為A 和B 的其他資料都一起查詢出來。

那就是利用第二步驟查出來的資料做為子查詢條件,使用 IN 函數。

第三步驟寫出來的mysql 語句是:

 SELECT * FROM  accountinfo WHERE account IN
 (
 SELECT account FROM accountinfo GROUP BY account HAVING COUNT(account) > 1
 );

查詢結果如下:

mysql怎樣查詢重複字段

可以看到重複的資料都被我們篩選出來了。

推薦學習:mysql影片教學

#

以上是mysql怎樣查詢重複字段的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn