- MySQL
- 2021-08-26 - 更新:2024-06-05
MySQLのテーブルで指定した列のデータが重複しているレコードを抽出、及び削除する方法をご紹介します。
まずはサンプルのテーブルを用意しましょう。
CREATE TABLE `sample` ( `id` int(8) NOT NULL AUTO_INCREMENT, `name` varchar(30) NOT NULL, `type` int(4) NOT NULL, PRIMARY KEY (`id`) );
サンプルデータを登録します。
INSERT INTO `sample` VALUES (DEFAULT, '赤井', 1), (DEFAULT, '井田', 2), (DEFAULT, '宇野', 3), (DEFAULT, '江崎', 1), (DEFAULT, '奥本', 2);
テーブルの中身を見てみると次のようになります。
mysql> select * from `sample`; +----+--------+------+ | id | name | type | +----+--------+------+ | 1 | 赤井 | 1 | | 2 | 井田 | 2 | | 3 | 宇野 | 3 | | 4 | 江崎 | 1 | | 5 | 奥本 | 2 | +----+--------+------+
typeに重複したデータがあることが分かります。
それではCOUNT関数とHAVING句を使って重複している件数を確認してみましょう。
続きを読む…»