【SQL Server】DISTINCT で重複行を除外する

重複行を除外するDISTINCT

SQL Serverで重複行を除外して1行にするには「DISTINCT」を使用します。重複行を1行にするには重複除外したい列の頭に「DISTINCT」をつけます。

例1. DISTINCTで重複行を除外するパターン

--住所を取得
SELECT ADDRESS FROM EMP;
ADDRESS
東京
埼玉
神奈川
東京
神奈川
東京
--住所を取得(重複排除)
SELECT DISTINCT ADDRESS FROM EMP;
ADDRESS
東京
埼玉
神奈川

列名の前に「DISTINCT」をつけることにより、重複した住所を除外して取得することができました。

例2. DISTINCTで複数列の重複行を除外にするパターン

--住所1,住所2を取得
SELECT ADDRESS1,ADDRESS2 FROM EMP;
ADDRESS1 ADDRESS2
東京 渋谷
東京 渋谷
東京 八王子
東京 渋谷
--住所,住所2を取得(重複排除) 
SELECT DISTINCT ADDRESS1,ADDRESS2 FROM EMP;
ADDRESS1 ADDRESS2
東京 渋谷
東京 八王子

「DISTINCT」を先頭につければ、ADDRESS1,ADDRESS2の両方の列に適用され、2列の重複を除外して1行にします。

DISTINCTをつかって重複行を1行にすることができました。

以上、SQL Serverで重複行を除外して1行にするDISTINCTの使い方でした。

コメント