mysql根據多個欄位去重

2021-10-20 21:39:12 字數 707 閱讀 8448

現在在搞資料處理,裡面有個資料是根據兩個欄位來區別是不是一樣的,那如果在設計的時候沒有將那兩個字段設計成唯一主鍵,或者唯一索引,後續就要進行去重,上網查了好久,發現都沒有啥好的解決方法,後來想了下,將那兩個主鍵連線一下,然後group分組不就行了?雖然效能很弱雞,但是這個sql我又只是用一次而已。

select 

欄位1 , 欄位2,

欄位3, 欄位4,

concat(欄位1,欄位2)

from

表名group by

concat(欄位1,欄位2) ;

這樣就行了,如果想要得到新的表,那就在前面弄個create table就行:

create table  新錶名

select

欄位1 , 欄位2,

欄位3, 欄位4,

concat(欄位1,欄位2)

from

表名group by

concat(欄位1,欄位2) ;

然後再將新的表的concat(欄位1,欄位2)給刪掉,然後就能得到新的去重的表了

(雖然這個方法挺菜的,但是反正我又只用一次,篩選完就沒問題了)

如果實在不放心,那麼conact函式還能concat更多個字段一起去重:

concat(欄位1,欄位2,欄位3,欄位4)

List《實體類》根據多個欄位去重

現在有乙個實體類person,屬性有三個,分別是name,age,address,根據這三個屬性將list中三個欄位都相同的資料進行去重。建立list,新增資料 listlist new arraylist list.add new person tom 15,america list.add ne...

Oracle如何實現多個欄位去重

我們通常使用distinct關鍵字來去除重覆記錄,還有沒有其他辦法呢?通過查詢資料,確認group by也可以,利用rowid也可以實現功能。其中,group by是用來分組統計的,能用distinct的地方就不要用group by。下面我們看一下幾種方法具體如何實現,至於選用哪一種,主要還是看需求...

LINQ解決根據某個欄位去重

想要list結果重複 的資料很簡單,只要.dinstinct 就好了 但是如果想要根據某個字段去除重複的資料,上面的方法就幫不上忙了,我們需要重寫乙個方法,直接上例子吧 serializable public class homepageusermodel public string titleus...