mysqlで、下記tagsテーブルでのtagの重複したレコードのみ抽出し、かつその件数をカウントした結果をほしいと考えております。
下のSQLで、理想の形の結果が返ってきています。
ただ、件数が多くなることが予想されるため、EXISTSを使ったもので実行したいと考えているのですが、
どうすれば良いでしょうか?よろしくお願い致します。
table
1テーブル名:tags 2カラム1:id (primiry key) 3カラム2:tag (タグのキーワード)
sql
1SELECT count(tag)duplicate_count,tag FROM tags GROUP BY tag HAVING COUNT(tag) > 1 order by duplicate_count desc
期待の戻り値
duplicate_count | tag |
---|---|
10 | tag名1 |
7 | tag名2 |
SampleData
1CREATE TABLE `tag` ( 2 `id` int(11) NOT NULL, 3 `tag` varchar(50) NOT NULL 4) ENGINE=InnoDB DEFAULT CHARSET=ujis; 5 6INSERT INTO `tag` (`id`, `tag`) VALUES 7(1, 'tag1'), 8(2, 'tag2'), 9(3, 'tag1'), 10(4, 'tag3'), 11(5, 'tag1'), 12(6, 'tag2'); 13
回答3件
あなたの回答
tips
プレビュー