SQL文で重複する行をまとめて取得する(DISTINCT)

最近PHPとMySQLでページを作っている時に、DBに二重に入ってしまっている内容を1回の表示にまとめる方法を探していたところ 「DISTINCT」を使って行をまとめられることを知りました。そもそも二重投稿を防ぐ設定が上手くいったため使わなくて良くなったのですが、メモしておきたいと思います。

使い方は以下のようになります。

データベースにはこんな感じのデータが入っているとします。

【テーブル名:名簿】
   名前     グループ
  鈴木 A子      1
  鈴木 A子      1
  山田 B朗      2
  伊藤 C美      2

鈴木A子さんのデータが重複してしまっている状態です。

SELECT DISTINCT 名前 FROM 名簿 

上記のようにSQLを書くと、[名前]カラムに重複してしまっているデータが入っている場合に行をまとめて表示させることが出来ます。出力結果は下のようになります。

【テーブル名:名簿】
   名前  
  鈴木 A子 
  山田 B朗 
  伊藤 C美 

A子さんの行が1つにまとまりました。ただし、重複したデータをDBから取り除いているわけではないので注意が必要です。