検索

[Oracle] データ検索 重複行省略SQL(DISTINCT)

データの検索(重複行省略)

指定した列の重複行を省略して抽出する

SELECT句の後にDISTINCTを指定します。

SELECT DISTINCT 列1, 列2 ・・・ FROM テーブル名;

それではサンプルを見てみましょう。
以下のようなcompanyテーブルがあります。

id comp dept section
1 A株式会社 A部門 A課
2 A株式会社 A部門 B課
3 A株式会社 B部門 C課
4 B株式会社 C部門 D課

comp列のデータを重複を省略し抽出するためのSQLです。

上記を実行し、抽出された結果がこちらです。

comp
A株式会社
B株式会社

3行あったA株式会社の行が省略され、1行となっています。
 
また、複数列の指定も可能であり、SELECT句にcomp列とdept列を指定した場合は以下のようになります。

comp dept
A株式会社 A部門
A株式会社 B部門
B株式会社 C部門

compとdept両方が同じ行が省略されました。
 
 
以上が重複行省略「DISTINCT」の使い方です。ぜひ参考にしてみてください。