新聞中心
mysql查詢時如何去除重復數(shù)據(jù)
MySQL 過濾重復數(shù)據(jù)
創(chuàng)新互聯(lián)公司主營羅定網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,成都App制作,羅定h5成都微信小程序搭建,羅定網(wǎng)站營銷推廣歡迎羅定等地區(qū)企業(yè)咨詢
有些 MySQL 數(shù)據(jù)表中可能存在重復的記錄,有些情況我們允許重復數(shù)據(jù)的存在,但有時候我們也需要刪除這些重復的數(shù)據(jù)。
如果你需要讀取不重復的數(shù)據(jù)可以在 SELECT 語句中使用 DISTINCT 關鍵字來過濾重復數(shù)據(jù)。
from 樹懶學堂- 一站式數(shù)據(jù)知識學習平臺
你也可以使用 GROUP BY 來讀取數(shù)據(jù)表中不重復的數(shù)據(jù):
MySQL_select distinct無法實現(xiàn)只對單列去重,并顯示多列結果的解決方法
可以看到表中的value字段有重復,如果想篩選去重,使用select distinct語句如下:
得到結果會是
| value
| a
| b
| c
| e
| f
篩選去重是實現(xiàn)了,可是只有選中的value列顯示了出來,如果我想知道對應的id呢?
嘗試一下把id字段加入sql語句,如下:
得到結果:
| value | id
| a | 1
| b | 2
| c | 3
| c | 4
| e | 5
| f | 5
更換一下sql語句中id和value的順序,如下:
得到結果:
| id |value
| 1 | a
| 2 | b
| 3 | c
| 4 | c
| 5 | e
| 5 | f
好像看明白它的作用結果了,只有id和value兩個字段同時重復時,select distinct語句才會把它列入“去重”清單
所以能看到id為3和4的value雖然都是4,但由于select語句中寫了id字段,它也默認會對id字段起效。
而且如果sql語句中把DISTINCT放到只想起效的字段前,那也是不行的....比如sql語句改為:
會提示sql報錯。
那到底怎么樣能得到我想要的只對value字段內容去重,顯示結果又能保留其他字段內容呢....
找到的解決方法是使用group by函數(shù),sql語句如下:
得到結果:
| min(id) |value
| 1 | a
| 2 | b
| 3 | c
| 5 | e
| 5 | f
完成目標了?!
如果把sql語句中的min()換成max()呢?
得到結果:
| min(id) |value
| 1 | a
| 2 | b
| 4 | c
| 5 | e
| 5 | f
也完成目標了?!
同時比對兩次sql運行結果可以發(fā)現(xiàn),
第一次使用min(id)時,由于重復結果存在兩條而id最小的為為3,符合min(id)的篩選條件,所以結果中把id等于4的重復記錄刪除了。
第二次使用max(id)時結果中,也就把id等于3的重復記錄刪除了
可以推論到假如還存在一條id=5,value=c的記錄,使用max(id)時得到的結果里就會是5 c這條了。
再來嘗試一下,如果min()和max()用在value字段里呢:
得到結果:
| id |min(value)
| 1 | a
| 2 | b
| 3 | c
| 4 | c
| 5 | e
得到結果:
| id |min(value)
| 1 | a
| 2 | b
| 3 | c
| 4 | c
| 5 | f
再仔細想想,這種需求也只出現(xiàn)在不是那么care顯示結果中,非去重目標字段的內容時才能使用,如果需要指定這些字段的值,可能篩選條件就不是min()和max()那么簡單了....
以上。
mysql 查詢怎么去除重復列
假設:查詢一個結果集當中,要求三個字段同時不重復,即當 字段1=A 時,字段2=B 那么其他記錄中不再出現(xiàn)字段1=A 并且字段2=B的情況。
select *, count(distinct name) from table group by name
這個 你想去除那些重復 就直接在 distinct 后面 后group by 后面加 就可以了
mysql如何根據(jù)重復的條件得到重復的數(shù)據(jù),結果不要去重
mysql有函數(shù)可以取出重復的 distinct
select distinct ( name) form aa where name in ('zhang','wang','wang');
網(wǎng)站題目:mysql怎么不去重 mysql不重復
分享路徑:http://www.dlmjj.cn/article/dddecid.html