重複行を除外して1行にするDISTINCT
Oracleで重複行を除外するにはDISTINCTを使用します。重複行を除外して1行にするには除外したい列の頭にDISTINCTをつけます。
例1. DISTINCTで重複行を除外するパターン
--住所を取得 SELECT ADDRESS FROM EMP;
<結果>
ADDRESS |
東京 |
東京 |
埼玉 |
神奈川 |
東京 |
--住所を取得(重複除外) SELECT DISTINCT ADDRESS FROM EMP;
<結果>
ADDRESS |
東京 |
埼玉 |
神奈川 |
SELECTの列名の前に「DISTINCT」をつけると、重複行を除外することができました。
例2. DISTINCTで複数列の重複行を除外するパターン
--住所を取得 SELECT ADDRESS1,ADDRESS2 FROM EMP;
<結果>
ADDRESS1 | ADDRESS2 |
東京 | 渋谷 |
東京 | 渋谷 |
東京 | 八王子 |
--住所を取得(重複除外) SELECT DISTINCT ADDRESS1,ADDRESS2 FROM EMP;
<結果>
ADDRESS1 | ADDRESS2 |
東京 | 渋谷 |
東京 | 八王子 |
DISTINCTを先頭につければ、ADDRESS1,ADDRESS2の両方に適用され、2列の重複を除外して1行にします。DISTINCTをつかって重複行を除外することができました。
以上、Oracleで重複行を除外して1行にするDISTINCTの使い方でした。
コメント