重複した値を持つレコードを抽出しよう
videosテーブルがreserve_idってカラムを持っている。
このテーブルから、重複したreserve_idを持っているレコードを抽出したかった。
俺の場合。
select id,reserve_id from videos where reserve_id in (select reserve_id from videos group by reserve_id having count(*) > 1) order by reserve_id desc, id desc;
望んだものは得られたけど遅い。
某氏の場合。twitterで教えてもらった。
select id,reserve_id from videos as v where exists (select 1 from videos where reserve_id = v.reserve_id and id != v.id);
望んだものが得られる上に俺のより100倍くらい早い。感謝。
何してるか分かんないけど眠いから理解はまた今度!