91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL數據庫中怎么查找刪除重復行

發布時間:2021-07-26 10:39:42 來源:億速云 閱讀:167 作者:Leah 欄目:數據庫

這篇文章給大家介紹MySQL數據庫中怎么查找刪除重復行,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

當你對b字段排序(分組),相同值的c被分到不同的組,因此不能用COUNT(DISTINCT c)來計算大小。COUNT()之類的內部函數只作用于同一個分組,對于不同分組的行就無能為力了。類似,如果排序的是c字段,相同值的b也會分到不同的組,無論如何是不能達到我們的目的的。

幾種正確的方法

也許最簡單的方法是分別對某個字段查找重復行,然后用UNION拼在一起,像這樣:

select b as value, count(*) as cnt, 'b' as what_col    from a_b_c group by b having count(*) > 1    union    select c as value, count(*) as cnt, 'c' as what_col   from a_b_c group by c having count(*) > 1;    +-------+-----+----------+    | value | cnt | what_col |    +-------+-----+----------+   |     1 |   3 | b        |    |     2 |   3 | b        |   |     3 |   3 | b        |   |     1 |   3 | c        |    |     2 |   3 | c        |   |     3 |   3 | c        |   +-------+-----+----------+

輸出what_col字段為了提示重復的是哪個字段。另一個辦法是使用嵌套查詢:

select a, b, c from a_b_c    where b in (select b from a_b_c group by b having count(*) > 1)       or c in (select c from a_b_c group by c having count(*) > 1);   +----+------+------+    | a  | b    | c    |   +----+------+------+   |  7 |    1 |    1 |    |  8 |    1 |    2 |   |  9 |    1 |    3 |    | 10 |    2 |    1 |    | 11 |    2 |    2 |    | 12 |    2 |    3 |    | 13 |    3 |    1 |   | 14 |    3 |    2 |   | 15 |    3 |    3 |   +----+------+------+

這種方法的效率要比使用UNION低許多,并且顯示每一重復的行,而不是重復的字段值。還有一種方法,將自己跟group的嵌套查詢結果聯表查詢。寫法比較復雜,但對于復雜的數據或者對效率有較高要求的情況,是很有必要的。

select a, a_b_c.b, a_b_c.c    from a_b_c      left outer join (        select b from a_b_c group by b having count(*) > 1     ) as b on a_b_c.b = b.b      left outer join (         select c from a_b_c group by c having count(*) > 1      ) as c on a_b_c.c = c.c    where b.b is not null or c.c is not null

關于MySQL數據庫中怎么查找刪除重復行就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海城市| 庄浪县| 胶南市| 中阳县| 安阳市| 崇阳县| 文成县| 昆山市| 金秀| 察哈| 龙门县| 九台市| 罗平县| 灵川县| 宜兰县| 辉县市| 重庆市| 章丘市| 弥勒县| 庄河市| 荆门市| 佳木斯市| 溆浦县| 长武县| 酉阳| 扬州市| 康平县| 恭城| 樟树市| 阿合奇县| 门头沟区| 扬州市| 张家港市| 西充县| 于田县| 宝清县| 孟村| 神池县| 东丰县| 青川县| 莒南县|