- blogs:
- cles::blog
2008/06/30

MySQLで2つ以上のカラムの組み合わせが重複するレコードを削除したい

MySQLで複合プライマリキーを使っているような場合に、id1とid2の組み合わせが重複するレコードを削除したい時のサブクエリの書き方が分からなくてちょっとはまってしまったのでメモ。
MySQL :: MySQL 5.1 リファレンスマニュアル :: 12.2.8.5 行サブクエリ
行コンストラクタは通常、2つ以上のカラムを返すサブクエリを持つ比較に対して利用します。例えば、次のクエリは要求に答え、「テーブル t2 にも存在する テーブル t1 内の全ての行を検出します。」
SELECT column1,column2,column3
FROM t1
WHERE (column1,column2,column3) IN
(SELECT column1,column2,column3 FROM t2);
これまではどうしても必要な時にはCONCAT(column1, column2)とかで無理やり1つのカラムにまとめてやってしまっていたので、indexが効かずにものすごく時間がかかって困っていましたが、意外と単純な方法で実行できるんですね。ちゃんとマニュアルに記載されていて、行コンストラクタという名前がついているとは思いませんでした。
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/2628
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
サイト内検索
検索ワードランキング
へぇが多いエントリ
閲覧数が多いエントリ
1 . アーロンチェアのポスチャーフィットを修理(112169)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110800)
3 . 年次の人間ドックへ(110391)
4 . 2023 年分の確定申告完了!(1つめ)(109941)
5 . 三菱鉛筆がラミーを買収(109837)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110800)
3 . 年次の人間ドックへ(110391)
4 . 2023 年分の確定申告完了!(1つめ)(109941)
5 . 三菱鉛筆がラミーを買収(109837)
cles::blogについて
Referrers