MySQL帶DISTINCT關鍵字的查詢

2021-08-03 07:01:21 字數 985 閱讀 8443

很多資料表中,某些欄位的資料存在重複的值

使用select語句,查詢gender欄位

可以看出,結果8條記錄中,有5條記錄的字段值為na,有2條記錄的值為nv。

查詢student表中,gender欄位的值,查詢記錄不能重複

可以看出,查詢只返回了三條記錄的gender值,沒有重複值

有時候,出於對資料的分析需求,需要過濾掉查詢記錄中重複的值,在select語句中,使用distinct關鍵字來實現

select distinct 欄位名 from 表名

欄位名,表示要過濾重覆記錄的字段

distinct關鍵字,可以作用於多個字段,語法格式

select distinct 欄位名1,欄位名2,……

from 表名;

注意,只有distinct關鍵字,後面指定的多個字段值都相同,才會被認作為重覆記錄

查詢student表中,gender和name欄位,使用distinct關鍵字,作用於這兩個字段

可以看出,gender欄位中出現了重複的值,但它們的name字段值並不相同。

因為,distinct關鍵字作用於gender和name兩個字段,只有這兩個欄位的值都相同,才被認為是重覆記錄

為了演示過濾的效果,向student表中,新增一條記錄,然後查詢

可以看出,第一條記錄和第九條記錄,gender和name字段值相等

查詢student表,gender和name欄位,使用distinct過濾

可以看出,過濾了gender和name欄位都相同的記錄

mysql中去重 distinct 用法

在使用mysql時,有時需要查詢出某個欄位不重複的記錄,這時可以使用mysql提供的distinct這個關鍵字來過濾重複的記錄,但是實際中我們往往用distinct來返回不重複欄位的條數 count distinct id 其原因是distinct只能返回他的目標字段,而無法返回其他字段,例如有如下...

mysql中去重 distinct 用法

在使用mysql時,有時需要查詢出某個欄位不重複的記錄,這時可以使用mysql提供的distinct這個關鍵字來過濾重複的記錄,但是實際中我們往往用distinct來返回不重複欄位的條數 count distinct id 其原因是distinct只能返回他的目標字段,而無法返回其他字段,例如有如下...

mysql中去重 distinct 用法

用distinct來返回不重複的使用者名稱 select distinct name from user 結果為 這樣只把不重複的使用者名稱查詢出來了,但是使用者的id,並沒有被查詢出來 select distinct name,id from user 這樣的結果為 distinct name,i...