在MySQL數(shù)據(jù)庫中,我們經(jīng)常需要查詢一些數(shù)據(jù)并去除重復(fù)的結(jié)果。這篇文章就是來介紹如何使用MySQL語句去重復(fù)的查詢結(jié)果。
SELECT DISTINCT column_name FROM table_name
以上是最簡單的去重復(fù)方法,使用DISTINCT關(guān)鍵字選擇需要去重的列即可。
但是有些時候,我們需要按照多個列進(jìn)行去重。在這種情況下,我們需要使用GROUP BY語句。
SELECT column_name1, column_name2 FROM table_name GROUP BY column_name1, column_name2
對應(yīng)的列需要按照順序列出,GROUP BY語句會根據(jù)列順序?qū)⑾嗤兄档慕Y(jié)果合并成一行。
如果我們需要去除重復(fù)的結(jié)果,但是同時需要保留重復(fù)的值,可以使用HAVING子句。
SELECT column_name FROM table_name GROUP BY column_name HAVING COUNT(*) >1
將HAVING子句中的條件改為COUNT(*) = 1,即可去除重復(fù)的結(jié)果。
如果查詢結(jié)果中包含NULL或者空字符串,我們需要使用IS NULL或者IS NOT NULL來過濾。
SELECT column_name1, column_name2 FROM table_name WHERE column_name1 IS NOT NULL AND column_name2<>'' GROUP BY column_name1, column_name2
以上就是MySQL查詢結(jié)果去重復(fù)的幾種方法,根據(jù)不同情況選擇不同的方法會使查詢結(jié)果更加準(zhǔn)確。