萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> distinct函數在sql中的應用

distinct函數在sql中的應用

distinct在sql中是過濾重復的數據了,下面我們一起來看一篇關於distinct在sql中的使用方法,希望本文章能夠幫助到各位朋友。

在采集的一個站點裡面匯集了較多的數據,大概采集了有幾十萬,同一行業站點的數據幾乎都采集了,當然標題是沒有改掉的,還是原標題,這是為了方便篩選重復數據的,這幾十萬的數據裡面匯集了較大比重的重復數據,本來想要把這些數據刪除掉,但夏日博客苦於沒找到好的方法,最後還是想到了 sql 中 distinct 參數,這個參數已經N久沒有用過了,其作用就是將重復的數據給過濾掉不顯示,看來用在這個采集站點裡是最為合適不過了,下面重點的去了解一下 distinct 在 sql 中的應用吧。

distinct作用:

在數據表裡,往往會重復許多值,比如輸入兩個字段的“夏日博客”,如果我們只想要輸出一個“夏日博客”的時候,就可以用到 distinct 了,利用 distinct 可以只顯示出來一個“夏日博客”。
distinct語法:

因為是需要輸出值的,所以需要用到 SELECT,語法如下:

SELECT DISTINCT 列名稱 FROM 表名稱 
distinct實例一:

為了更直觀的看到 distinct 的作用效果,我們來進行一下使用 distinct 之前和之後都是怎樣的效果,比如我們有如下 Orders 表:


如果不使用 distinct 來進行讀取,則 SQL 為 “SELECT Company FROM Orders” 語句,哪麼讀取出來的結果就為如下形式:

我們可以看出,重復值 W3School 被兩次顯示出來了,如果內容是重復的,則只顯示一次就可以了,下面再來看一下使用 distinct 之後輸出的值是怎樣的,先來看一下使用 distinct 之後的 SQL 吧,如下:
SELECT DISTINCT Company FROM Orders 
運行之後的結果形式為:

現在 W3School 只被顯示了一次。

distinct實例二:

再淺顯的一個小實例,如果我們有如下的 表A:


在 sql 中使用 distinct 來去除重復的數據,運行後的效果如下:

distinct實例三:

還是接著 distinct實例二,我們再稍微將 sql 語句更改一下,不僅去除表 name 裡面的重復值,且連 id 的值一同去除掉,SQL語句如下:

select distinct name, id from A 

執行後的效果如下所示:


我們可以看到執行後的效果裡面已經將 name 字段和 id 字段裡面重復的值都已經去掉了

copyright © 萬盛學電腦網 all rights reserved