MySQL中使用去重distinct方法的示例詳解
一 distinct
含義:distinct用來查詢不重復(fù)記錄的條數(shù),即distinct來返回不重復(fù)字段的條數(shù)(count(distinct id)),其原因是distinct只能返回他的目標字段,而無法返回其他字段
用法注意:
1.distinct【查詢字段】,必須放在要查詢字段的開頭,即放在第一個參數(shù);
2.只能在SELECT 語句中使用,不能在 INSERT, DELETE, UPDATE 中使用;
3.DISTINCT 表示對后面的所有參數(shù)的拼接取 不重復(fù)的記錄,即查出的參數(shù)拼接每行記錄都是唯一的
4.不能與all同時使用,默認情況下,查詢時返回的就是所有的結(jié)果。
1.1只對一個字段查重
對一個字段查重,表示選取該字段一列不重復(fù)的數(shù)據(jù)。
示例表:psur_list

PLAN_NUMBER字段去重,語句:
SELECT DISTINCT PLAN_NUMBER FROM psur_list;
結(jié)果如下:

1.2多個字段去重
對多個字段去重,表示選取多個字段拼接的一條記錄,不重復(fù)的所有記錄
示例表:psur_list

PLAN_NUMBER和PRODUCT_NAME字段去重,語句:
SELECT DISTINCT PLAN_NUMBER,PRODUCT_NAME FROM psur_list;
結(jié)果如下:

期望結(jié)果:只對第一個參數(shù)PLAN_NUMBER取唯一值
解決辦法一:使用group_concat 函數(shù)
語句:
SELECT GROUP_CONCAT(DISTINCT PLAN_NUMBER) AS PLAN_NUMBER,PRODUCT_NAMEFROM psur_list GROUP BY PLAN_NUMBER
解決辦法二:使用group by
語句:
SELECT PLAN_NUMBER,PRODUCT_NAME FROM psur_list GROUP BY PLAN_NUMBER
結(jié)果如下:

1.3針對null處理
distinct不會過濾掉null值,返回結(jié)果包含null值
表psur_list如下:

對COUNTRY字段去重,語句:
SELECT DISTINCT COUNTRY FROM psur_list
結(jié)果如下:

1.4與distinctrow同義
語句:
SELECT DISTINCTROW COUNTRY FROM psur_list
結(jié)果如下:

二 聚合函數(shù)中使用distinct
在聚合函數(shù)中DISTINCT 一般跟 COUNT 結(jié)合使用。count()會過濾掉null項
語句:
SELECT COUNT(DISTINCT COUNTRY) FROM psur_list
結(jié)果如下:【實際包含null項有4個記錄,執(zhí)行語句后過濾null項,計算為3】

到此這篇關(guān)于MySQL中使用去重distinct方法的示例詳解的文章就介紹到這了,更多相關(guān)MySQL 去重distinct 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- MySQL中數(shù)據(jù)去重的兩種方式詳解(DISTINCT和GROUP BY)
- 詳解MySQL中DISTINCT去重的核心注意事項
- mysql distinct去重,IFNULL空值處理方式
- MySQL中distinct和group by去重的區(qū)別解析
- MySQL中使用distinct單、多字段去重方法
- MySQL中distinct和group?by去重效率區(qū)別淺析
- MySQL去重中distinct和group?by的區(qū)別淺析
- MySQL去重該使用distinct還是group by?
- Mysql中distinct與group by的去重方面的區(qū)別
- MySQL DISTINCT 去重的幾種方法使用
相關(guān)文章
Mysql 中的secure_file_priv參數(shù)設(shè)置方法
MySQL的secure_file_priv變量用于限制文件的讀取和寫入,在后期漏洞注入中,可以使用INTO DUMPFILE和INTO OUTFILE將數(shù)據(jù)寫入文件,或者使用LOAD_FILE下載文件,本文介紹Mysql 中的secure_file_priv參數(shù)設(shè)置,感興趣的朋友一起看看吧2024-11-11
MySQL Threads_running飆升與慢查詢的相關(guān)問題解決
這篇文章主要介紹了MySQL Threads_running飆升與慢查詢的問題解決,幫助大家更好的理解和學(xué)習(xí)使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下2021-05-05
Pentaho Kettle工具實現(xiàn)SQL Server到MySQL數(shù)據(jù)庫的定時數(shù)據(jù)同步方案
本文介紹了使用Kettle工具實現(xiàn)SQL Server到MySQL數(shù)據(jù)庫的定時數(shù)據(jù)同步方案,首先需放置數(shù)據(jù)庫驅(qū)動并創(chuàng)建目標表結(jié)構(gòu),通過圖形化界面配置轉(zhuǎn)換流程,該方案無需編寫代碼,完全通過圖形化操作即可實現(xiàn)跨數(shù)據(jù)庫的定時數(shù)據(jù)同步2026-03-03

