下記のようなAというテーブルがあったとします。
A1 A2 A3 A4 A5 A6 A7
------- ------- ------- ------- ------- ------- -------
AAAAAAA BBBBBBB CCCCCCC DDDDDDD EEEEEEE FFFFFFF GGGGGGG
AAAAAAA BBBBBBB XXXXXXX YYYYYYY EEEEEEE FFFFFFF GGGGGGG
ABCSHSM SDIASNA SIASJAO OPPPPPP YGUUUBU NINIINI LPLPLPL
この中でカラム「A1」and「A2」and「A5」and「A6」and「A7」が重複しているレコードを抽出させるにはどうしたらいいでしょうか?
いろいろやってみているのですが行値式が使えないDBです。
レコードの数も10万くらいあるので出来るだけ早めに抽出が出来ればいいのですが・・・
調べてみてもいるのですがなかなか重複を抽出されている方が少なく(重複の削除→DISTINCTは多いのですが・・・)困っております。
よろしくお願いします。
ちなみにDELETEはしません
SELECTのみです。
9i
No.2ベストアンサー
- 回答日時:
SELECT DISTINCT T1.A1, T1.A2, T1.A3, T1.A4, T1.A5, T1.A6, T1.A7
FROM tblA T1, tblA T2
WHERE T1.A1 = T2.A1
AND T1.A2 = T2.A2
AND T1.A3 <> T2.A3
AND T1.A4 <> T2.A4
AND T1.A5 = T2.A5
AND T1.A6 = T2.A6
AND T1.A7 = T2.A7
という方法もあります。自己結合だからパフォーマンスはちょっと……
Oracleだと、ROWIDが使えるからDISTINCTはいらないですけどね。
No.1
- 回答日時:
A1, A2, A5, A6, A7 でグループ化し、HAVING句でカウントが2以上のものに絞り込めば良いかと。
ただし、GROUP BYを行うのでパフォーマンスはかなり悪いかも知れません。
例) ---------------------------------------------------------------
SELECT A1, A2, A5, A6, A7 FROM A
GROUP BY A1, A2, A5, A6, A7
HAVING COUNT(*) > 1
------------------------------------------------------------------
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Excel(エクセル) エクセルで重複データを行ごとに抽出したい 4 2022/12/05 08:18
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
- Excel(エクセル) 表に書いてある単語を1つの行に重複させないで書き出したい。 複数の列行にそれぞれ職種が入力されている 6 2022/05/25 04:49
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- Visual Basic(VBA) フォーム上のリストボックスに重複して表示しています 3 2022/10/19 11:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
batファイルでのSQL(oracle)...
-
SQLについて教えて下さい。 主...
-
sqlで質問です。 idを元にidに...
-
orace SQL文のエラー(ORA-0092...
-
Oracleでの登録するユーザーと...
-
Oracle SQRの正式名称は何ですか?
-
select for updateのロック
-
sqlで質問です。 Aテーブルは店...
-
質問です。 下記のテーブルとデ...
-
sqlで質問です。 Aテーブルの登...
-
sqlで質問です。 Aテーブルの情...
-
オラクルゴールドについて
-
ビットで表せる数値について
-
update文で質問です。 下記の条...
-
SQL update方法
-
テーブルやカラムの物理名のネ...
-
SQLで日付+時間で絞り込みたい
-
' シングルクォート " ダブルク...
-
続.ORACLEのSELECTのソートに...
-
子供向けプログラミングのスク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
副問合せにLIKE文を使う方法は...
-
batファイルでのSQL(oracle)...
-
oracleのimpdpでORA-39166
-
データベースのカラムの型がCHA...
-
64bit端末でのOLEDB接続に関して
-
ORA-14452について
-
osqleditについて
-
Oracleで文字列型の時間を引き...
-
バッチファイルで複数フォルダ...
-
orace SQL文のエラー(ORA-0092...
-
ワークテーブルって何?
-
SQLで今日の日付でWhereしたい
-
SQLについて教えて下さい。 主...
-
oracleの直接接続のクライアン...
-
SQL 2つのテーブルとSUBSTRING...
-
質問です。 下記のテーブルとデ...
-
続.ORACLEのSELECTのソートに...
-
SQLの中上級者へのレベルアップ...
-
テーブルやカラムの物理名のネ...
-
下記のsqlで取得されるレコード...
おすすめ情報