広告スペース(バナー)
🗄️SQL レッスン
SELECTの基礎6
データ操作とサブクエリ5
構文の基本を深める7
応用的な条件・結合7
検索とテーブル操作の応用6
高度なクエリ技法6
集計とデータ整合性6
仕上げの機能と応用6
レッスン 18 / 50

DISTINCTで重複を取り除く

このレッスンでは、DISTINCTを使った重複データの除去方法を学び、ユニークな値の一覧を取得できるようになることを目標にします。「SQL DISTINCT 使い方」で調べている方向けの内容です。

SELECT DISTINCT 列名とすると、結果から重複する値をまとめて1つだけ表示できます。「同じクラスの一覧を、重複なしで出したい」ときなどに使います。

サンプルコードでは、SELECT DISTINCT class_id FROM students;という指定で、生徒が何人いても、実際に存在するクラスIDだけを重複なく取得しています。同じclass_idを持つ生徒が複数いても、結果には1回しか現れない様子を確認してみましょう。

初心者がよくつまずくのが、複数の列にDISTINCTを指定した場合の挙動です。生徒が何人いても、そのクラスIDだけを重複なく確認したいといった場面でよく使われます。複数の列を指定すると「その組み合わせ全体」で重複を判定する点にも注意しましょう。

集計前の下調べとしてもよく使われます。「実際にどんな種類の値が存在するか」を最初に把握することで、その後のGROUP BYやWHEREの条件を組み立てやすくなります。

SQL
OUTPUT / 実行結果

💡 初回実行時はSQLエンジンの読み込みに数秒かかります。

🎯
ここまでできればゴール達成!
重複したデータを取り除いた、ユニークな一覧が取得できるようになります。
広告スペース(バナー)
広告スペース(記事内)