
今回は、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をすることもなくできるので、便利です。
是非参考にしてみてください。