• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:重複するレコードを調べるSQL)

重複するレコードを調べるSQL

このQ&Aのポイント
  • 重複するレコードを調べるためのSQLです。
  • 異なるカテゴリーでも商品コードが重複しているものを探します。
  • 遅い処理を高速化する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.2

対象のDB、バージョン、テーブル構造、インデックスの有無くらいは最低限書きましょう。 また、どれくらいの件数でどれくらいの時間がかかっているのかも書くといいと思います。 下記のSQLがそちらの環境で使えるかわかりませんが、テーブルの読み込みが1回で済むので 最初のSQLよりは早いのではないかなと思います。 SELECT * FROM (SELECT 商品コード,COUNT(*) OVER(PARTITION BY 商品コード) X, カテゴリー FROM テーブルA WHERE 追加年月 = 201008) WHERE X >= 2;

kuekue_001
質問者

お礼

情報が少なくてすみません。 書いて頂いたSQLでできました!! 断然に速くなりました!! ありがとうございます。

その他の回答 (2)

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.3

SELECT B.商品コード,A.X,B.カテゴリー FROM (SELECT 商品コード,COUNT(商品コード) X FROM テーブルA WHERE 追加年月=201008 GROUP BY 商品コード HAVING COUNT(商品コード)>1) A INNER JOIN テーブルA B ON A.商品コード=B.商品コード 感覚的にはこのようなSQLになると思います。 サブクエリの方でレコード数を絞っておくべきで、結合後の 結果に対してWHERE句を割り当てるより高速です。 ただ、これで目に見えるほど改善されるかどうかは不明です。

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

SQLではなく、表の定義と索引の定義、重複の抽出条件を教えてください。

関連するQ&A