BigQuery:利用 SELECT DISTINCT來去除重複資料

許博淳
數據共筆
Published in
Apr 27, 2022

遇到資料重複真的好討厭,要怎麼找出不重複的資料?

希望你看到問題至少有想到 Group by,代表你至少有基礎的 SQL知識,不然應該要回去學習基礎,我推薦 w3school(無業配),我自己最早也是在這裡學,真心推薦。

Group by

-- 方法1
SELECT
A, B, ... ,Z
FROM
table
GROUP BY
A, B, ... ,Z
-- 方法2
SELECT
A, B, ... ,Z
FROM
table
GROUP BY
1, 2, ... ,26

你可以在 SELECT之中偷懶使用 *代表 ALL,但在 GROUP BY行不通,那這樣萬一我要對整張表去除重複資料,但又不想要輸入30個欄位名稱呢?

SELECT DISTINCT

SELECT DISTINCT
*
FROM
table

這和蔣公一樣,跟本宇宙大救星(疑)

不論欄位再多都不是問題,可能有的小朋友要問了,那如果30個欄位中有2個欄位我不要,其他28個欄位要取出不重複資料呢?

SELECT DISTINCT
* EXCEPT(column_1, column_2)
FROM
table

只要使用 EXCEPT(),就可以輕鬆將不要的欄位去除。

簡直舒服到不能自己。

--

--