先看下我們表里的數據,從圖中看到,現在表里有多行name一樣的數據。
如何查詢出這些重復的數據呢?我們可以用group by語句和having語句結合來查詢。代碼如圖,group by name的意思是以name字段為分組,而having c > 1的意思是分組里的name的個數大于1的。
運行后的結果就是找出了這個重復的name。即所有的name有相同的個數大于1的都找出來了。
這些有重復name的數據,其它字段怎么查詢出來呢?
有人說用where語句就行了,where name in('wenwen','sohu'),,代碼如圖
結果如圖,這樣確實可以查到。
但在查詢前我們并不知道哪些name是有重復的。況且如果數據量大的話,相同的name就有可能有幾百個,這個in語句就有得寫了。
那怎么查詢?可以用inner join聯合查詢語句。代碼如圖
運行后,得到正確的查詢結果。
可以看到用聯合查詢,我們并不需要事先知道有哪些name是重復的,也不必擔心有太多的重復數據。
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!