SQLServer DISTINCT 重複行の削除

今回は、SQLSERVERを利用した、重複行の削除方法を紹介します。

重複行の削除を行うには、DISTINCTを利用しましょう。

それではさっそく使い方を紹介していきます。

DISTINCTの使い方

DISTINCTの使い方は、とても簡単です。

SELECT DISTINCT 項目
FROM テーブル名

このように項目の前にDISTINCTを指定することで利用できます。

 

重複削除

例を見ていきましょう。

下記のようなテーブルがあるとして、重複削除を行っていきます。

 

UserTable

name age
伊藤 30
田中 20
ひろにも 50
伊藤 30
青木 10
中村 22
ひろにも 50

 

1項目指定

試しに、nameの重複を削除してみましょう。

SELECT DISTINCT name
FROM UserTable

 

結果

解説

「ひろにも」と「伊藤」が重複していたので、それぞれ重複が削除されていますね。

複数項目指定

続いて、項目を2つ指定してみましょう。

SELECT DISTINCT name , age
FROM UserTable

結果

解説

今回は、nameとageの2項目を指定してみました。

結果は、重複している「ひろにも、50」「伊藤、30」の重複が削除されましたね。

 

サンプル

最後に少し項目が多い、サンプルを紹介しておきます。

 

hironimoTable

id nickName animal height weight
00001 ひろにもさん きりん 170 55.5
00002 ひろにも きりん 160 60.0
00003 ひろにも きりん 170 70.0
00004 ひろ きりん 180 80.0
00005 にも きりん 150 90.0

全項目を指定した場合

全項目を指定した場合

SELECT distinct  *
  FROM hironimoTable

結果

解説

全行を指定した場合は、重複しているデータがないので、すべての行が表示されています。

2項目指定した場合

「nickname、animal」を指定した場合

SELECT distinct  nickname, animal
  FROM hironimoTable

結果

解説

「nickname、animal」が重複しているデータが削除されていますね。

 

まとめ

重複したデータを削除したい場合は、DISTINCTを利用しましょう。

SELECT DISTINCT 項目
FROM テーブル名

指定した項目に重複があれば、削除してくれます。

また複数項目指定することもできます。

わざわざGroup Byをすることもなくできるので、便利です。

是非参考にしてみてください。

 

SQLServerの記事一覧

おすすめの記事