在實際開發中,我們經常需要查詢數據庫中重復的數據。在MySQL中,我們可以使用GROUP BY語句和HAVING子句來查詢多列重復的數據:
SELECT column1, column2, COUNT(*) FROM table GROUP BY column1, column2 HAVING COUNT(*) >1;
上述語句中,我們選擇需要查詢的列名,使用GROUP BY將它們分組。COUNT(*)用來計算每個組中的行數,如果行數大于1,說明這些行有重復。最后用HAVING來限制查詢結果,只顯示有重復的行。
舉個例子,假設我們有一個用戶表,包含了用戶名和郵箱兩列,并且有重復的數據。
用戶名 | 郵箱 --------------------- Tom | tom@AA.com Jerry | tom@AA.com Bob | bob@BB.com Lucy | lucy@CC.com Jane | jane@DD.com Tom | tom@AA.com
我們可以使用上面的語句來查詢多列重復的數據,結果如下:
用戶名 | 郵箱 | COUNT(*) ------------------------------- Tom | tom@AA.com | 2
可以看到,Tom和郵箱tom@AA.com這兩列都是重復的。如果我們只想查詢其中一列的重復數據,可以將查詢語句中GROUP BY和SELECT的列名修改為單列。
SELECT column_name, COUNT(*) FROM table GROUP BY column_name HAVING COUNT(*) >1;
這樣就可以查詢到該列中的重復數據了。
上一篇css3文本框大小設置
下一篇css3文字輪播