🧾SQL 教學:如何列出資料表欄位的「不同值」— 新手也能懂的 DISTINCT 與 GROUP BY
1. 這篇文章要解決什麼問題? 你在資料庫裡有一張資料表(例如測試資料、報表資料、或任何紀錄表),其中有一個欄位叫做 RAWFILE ,它通常代表「資料從哪個檔案匯入」或「來源檔名」。 你想做的事情很常見: 把 RAWFILE 欄位中出現過的「不同值」全部列出來 也就是:不要看到重複的檔名,只要每個檔名列一次。 這個需求通常用在: 找出有哪些來源檔案有被匯入 檢查資料異常時,快速定位「哪些檔案」可能有問題 做資料清理前先確認來源分佈 寫 ETL / Loader 時做追蹤與稽核(audit) 2. 先用白話理解:「不同值」是什麼? 假設 RAWFILE 欄位的資料長得像這樣: RAWFILE fileA.xlsx fileA.xlsx fileB.xlsx fileC.xlsx fileB.xlsx 你要的輸出是: fileA.xlsx fileB.xlsx fileC.xlsx 也就是 去重複後的清單 。 3. 最常用解法:DISTINCT(去重複) 在 SQL 裡,最直覺的作法是用 DISTINCT 。 它的意思就是: 只顯示不重複的值 ✅ 示範 SQL: SELECT DISTINCT t.RAWFILE FROM dbo.FT_TEST_INFO AS t WHERE t.RAWFILE IS NOT NULL ORDER BY t.RAWFILE; 你...