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から取り除いているわけではないので注意が必要です。

ハックノートをフォローして
最新情報をチェックしよう

AWS構築サービスの全てをまとめた資料を公開中

ハックノート(TOWN株式会社)では、AWSの導入や構築支援を行っています。AWS導入メニューやサービス詳細、構成例や費用を掲載した資料をダウンロードできます。

AWSの新規導入やAWSへの移行を検討の際は、ぜひご参考ください。


APNコンサルティングパートナー

TOWN株式会社はAmazon公認コンサルティングパートナーです。