MySQL對某一字段去重

2021-09-29 10:02:25 字數 774 閱讀 9555

mysql有乙個去重關鍵字distinct,但是如果查詢的字段有很多,而想要去重的字段只是其中的某乙個,那麼僅僅用distinct是完成不了的,distince只能做到你查詢的那些欄位都是重複時才會去重。

比如有一張使用者表的資料是這樣的:

這裡我們本意是想查出一條資料,如果是這樣寫sql語句:

select

distinct user_name from u_user

這樣查出來的資料的確只有一條。可是如果我們是這樣寫:

select

distinct user_name,user_*** from u_user

那麼出來的還是兩條資料,因為這個去重是指 user_name 和 user_*** 同時重複時才會去重。

注意distinct只能放在欄位的最前面,所以如果這麼寫是會報錯的:

select user_***,

distinct user_name from u_user

這種寫法mysql不支援,會報錯。這裡可以用distinct和group by相結合的方式去完成:

select user_name, user_***,

count

(distinct user_name)

from u_user group

by user_name

這樣結果就只有一條資料了。

查詢 對某一字段去重,並獲得其他字段資訊

想在table1表中,查公司中的員工名字有哪些,table1表中員工有重名的情況,所以要對員工名去重,並且要得到員工名字 及其對應的部門號dept id 即 對name欄位去重,並獲得name,dept id 字段 table1 m table1 使用下面方法 result table1 where...

對二維陣列的某一欄位求和

方法一 array sum array map create function val return val size arr 方法二 array sum array map function val arr 對於windows系統,這兩種方法均可用。對於linux系統,只有方法一可用,如果是方法二...

laravel 中某一欄位自增 自減

increment自增方法有兩個引數 第乙個為必填,代表要對資料表的哪個字段進行自增操作,第二個引數為可選,如果為空則表示每次遞增1,如果填寫了比如3,則表示每次在原有的基礎上遞增3。db table users increment votes db table users increment vo...