在采集的一個站點裡面匯集了較多的數據,大概采集了有幾十萬,同一行業站點的數據幾乎都采集了,當然標題是沒有改掉的,還是原標題,這是為了方便篩選重復數據的,這幾十萬的數據裡面匯集了較大比重的重復數據,本來想要把這些數據刪除掉,但夏日博客苦於沒找到好的方法,最後還是想到了 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 字段裡面重復的值都已經去掉了