
アクセスの重複データ削除について質問です。
下記のようなデータがあります。(テーブル名:TEST)
ID 受付日 シリアルNO
1 2009/8/1 AAAB
2 2009/8/1 AAAA
3 2009/8/1 AAAB ←削除
4 2009/8/1 ABAB
5 2009/8/1 AABB
6 2009/8/2 AABB
7 2009/8/2 AABC
8 2009/8/2 AABB ←削除
9 2009/8/2 AAAA
<やりたいこと>
受付日が同じで、シリアルNOが重複しているデータがあった場合
IDの小さいデータを1件のみ残して、他はすべて削除。
※重複は2件以上の場合もある。
※シリアルNOが重複していても、受付日が違えば削除しない。
下記のように、シリアルNOの重複データを削除、まではたどりついたのですが
同一日かつ同一シリアルNOのデータを削除、という書き方がわからずに困っています。
お分かりになる方、どうぞ宜しくお願い致します!
・・・・・・・・・・・・・・・・・・・・・・
DELETE *
FROM TEST AS T1
WHERE ID <> (
Select Min(ID) From TEST As T2
Where T2.シリアルNO = T1.シリアルNO
Group By シリアルNO
Having Count(*) > 1);
No.2ベストアンサー
- 回答日時:
#1です。
Group Byもなくても問題ないですね。
DELETE *
FROM TEST AS T1
WHERE ID <> (
Select Min(ID) From TEST As T2
Where T2.受付日 = T1.受付日
And T2.シリアルNO = T1.シリアルNO);
No.1
- 回答日時:
そこまでできたのなら、あとは受付日を追加するだけです。
なお、Having句は付けないほうがいいでしょう。
DELETE *
FROM TEST AS T1
WHERE ID <> (
Select Min(ID) From TEST As T2
Where T2.受付日 = T1.受付日
And T2.シリアルNO = T1.シリアルNO
Group By 受付日, シリアルNO);
この回答への補足
補足を忘れておりました。
Having句 をつけないほうがよい理由は何かあるのでしょうか?
(あまり詳しくないので・・初歩的な質問でしたら申し訳ありません)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ACCESS クエリで重複データを最新の1件だけ表示
Access(アクセス)
-
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
2つのテーブルに共通するレコードを削除したい
Access(アクセス)
-
-
4
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
5
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
6
ACCESSでの重複レコードの削除
Access(アクセス)
-
7
ACCESS 重複データを1つだけ表示したい(初心者です)
Access(アクセス)
-
8
Accessのクエリで、replace関数を使い、データの中にある”をブランクに置き換えたいのですが
Access(アクセス)
-
9
重複クエリを使ったデータ削除
その他(データベース)
-
10
アクセスで追加した項目に全て同じ値を一発で入れたい
Access(アクセス)
-
11
アクセスで『0の値以外』を表示する方法
Access(アクセス)
-
12
Access2003 クエリで、空の列は作れますか?
Access(アクセス)
-
13
Access vbaで重複レコードの削除がしたい
Visual Basic(VBA)
-
14
ACCESSにて全項目(レポート)が完全重複する行のみを削除するクエリの数式
その他(データベース)
-
15
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
16
Accessでデータシートに同じデータがいくつもでてしまいます。
その他(データベース)
-
17
Access 抽出した重複データを一つにしたい。
Access(アクセス)
-
18
アクセスの初心者の質問です(空白の場合に他のフィールドを表示させたい。)
Access(アクセス)
-
19
Accessでテーブルの値をテキストボックスに代入するには?
Access(アクセス)
-
20
アクセスVBAのMe!と[ ]
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Yahooフリマってどれくらい時間...
-
VBA 編集可能な範囲の指定につ...
-
言論統制を受けたことはありま...
-
バッチファイルを使用したsql@p...
-
outlook迷惑メールフォルダーに...
-
google chromeのブックマークが...
-
もう関わりたくない人がいたらL...
-
これはやらせですよね?
-
スマホのアプリを削除すると、...
-
VBA IF文でORを使ったとき後ろ...
-
指定した文字があった場合、そ...
-
職場の人と仕事中に喧嘩して LI...
-
VBA 削除ボタン
-
Microsoft Access 2016でエラー...
-
ウェブページへのアクセス不可 ...
-
エクセルVBAで、行削除⇒別シー...
-
アクセスにおいて間違って削除...
-
ヤフー知恵袋は違反通報しても...
-
【エクセル】セル内の右側のみ...
-
iphone movファイル削除
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えてgooでガイドライン違反と...
-
教えてgooでコメントしてすぐ消...
-
先ほどした質問が削除されまし...
-
Yahooフリマってどれくらい時間...
-
言論統制を受けたことはありま...
-
スマホのアプリを削除すると、...
-
outlook迷惑メールフォルダーに...
-
告白してフラれた相手の連絡先...
-
指定した文字があった場合、そ...
-
Windows11に残されたWindows10...
-
もう関わりたくない人がいたらL...
-
ATMに登録されている振込先を削...
-
VBA:Openステートメントで開い...
-
ウェブページへのアクセス不可 ...
-
アクセスにおいて間違って削除...
-
バッチファイルを使用したsql@p...
-
喧嘩をしてLINE削除され、 また...
-
これはやらせですよね?
-
エクセルで住所の混在する「丁...
-
ORA-14452について
おすすめ情報