MySQLの重複排除方法 【初級】繰り返しのセリフが少ない distinctive を使用してそれらを見つけ出し、手動で 1 つずつ削除します。 [中級] 単一のフィールドに基づいて重複を削除する 例: IDフィールドから重複を削除する 使用方法: id の繰り返しフィールドの値を取得し、同じ id フィールドを持つ行内の異なるデータを持つフィールドを比較し、最小 (または最大) フィールドを持つ行を除くすべての繰り返し行を削除します。通常、主キーの値は一意で、完全に異なる必要があるため、比較には主キーが使用されます。 ID名 1人 1b 2 カップ 2人 3 週 結果: ID名 1人 2人 操作: a_tmpから削除 id が (select * from (select b.id from a_tmp b group by b.id having count(b.id) >1) bb) にある場合 そして、名前は (select * from (select min(a.name) from a_tmp a GROUP BY a.id having count(a.id) >1) aa) に含まれません。 知らせ: 上記の太字と緑色の単語にはエイリアスを付け、select * from (……) 形式を使用する必要があります。そうしないと、エラーが報告されます。 [エラー] 1093 - FROM句で更新のターゲットテーブル 'a_tmp' を指定することはできません [詳細] 複数のフィールドの繰り返しによる重複を削除する たとえば、同じIDと名前の重複を削除するには、つまり、同じIDと名前を重複行としてカウントし、同じIDだが名前が異なるものを重複しない行としてカウントします。 使用法: 単一のフィールドと同様に、主キーの値は一意である必要があるため、主キーは通常、比較に使用されます。 ID名 ROWID 1a1 1 2 1b3 ... 2b4 ... 2b5 ... 3c6 3d7 結果: ID名 ROWID 1a1 1b3 ... 2b4 ... 3c6 3d7 操作: 最初のもの: a_tmpから削除 (id,name) が (select * from (select b.id,b.name from a_tmp b group by b.id,b.name having count(b.id) >1) bb) にある場合 かつ rowid が (select * from (select min(a.rowid) from a_tmp a group by a.id,a.name having count(a.id) >1) aa) に含まれません。 2番目のタイプ: idフィールドとnameフィールドの値を連結し、一時テーブルb_tmpに挿入します。その後、[中級]単一フィールド判定および削除方法を使用できます。 #接続された2つのフィールドの値と、a_tmpテーブル内の一意の値を持つフィールドをb_tmpテーブルに挿入します b_tmpに挿入 a_tmp から concat(id,name),rowid を選択します。 #保持する必要がある行を見つける select id_name,max(rowid) b_tmpから id_nameでグループ化 count(id_name)>1である; #[中間]メソッドまたはストアドプロシージャを使用して重複排除作業を完了します [究極] 各行には同じデータのコピーが2つあります 例えば: 使用方法: 行全体のデータが同じである場合、1 つの行を保持してすべての同一行を削除するために使用できる条件付き制限がないため、SQL ステートメントを使用してそれを削除することはできません。自分で作成できるさまざまなフィールドはありません。つまり、フィールドを追加し、自動増分に設定し、主キーとして設定すると、値が自動的に追加されます。 ID名 1人 1人 1b ... 1b ... 2 カップ 2 カップ 3 週 3 週 結果: ID名 ROWID 1a1 1b3 ... 2 5 頁 3 c 7 操作: 自動インクリメント フィールドを追加し、一時的に主キーとして設定します。 上記の[中級]および[上級]の方法を使用します。 読んでいただきありがとうございます。お役に立てれば幸いです。このサイトをサポートしていただきありがとうございます。 以下もご興味があるかもしれません:
|
<<: CentOS7 デプロイメント Flask (Apache、mod_wsgi、Python36、venv)
>>: Docker+Jenkins+Gitlab+Djangoアプリケーションデプロイ実践の詳細な説明
DOSBox を使用すると、Windows で DOS をシミュレートし、楽しい作業を行うことができ...
この記事では、参考までにMySQL 5.7.17圧縮版のインストール手順を紹介します。具体的な内容は...
質問Docker でローカル データベースにアクセスするにはどうすればよいでしょうか? 127.0....
目次1.vモデル2. プロパティとイベントのバインディング3. フォーム要素のバインディング3.1 ...
Centos にプロジェクトをデプロイするときに奇妙な問題が見つかりました。データベース接続で例外...
現在のデータベースでサポートされているエンジンを表示します エンジンを表示 +-----------...
目次同一起源ポリシーAjax リクエストの制限: Ajaxは自身のサーバーにのみリクエストを送信でき...
目次概要1. パスモジュール2. モジュールまで3. fsモジュール4. イベントモジュール5. h...
原因外部ファイルをミニプログラムにインポートする方法は次のとおりです: @import "...
最近のプロジェクトに取り組んでいるとき、下の図に示すように、画像を参照すると常に下部に空白スペースが...
1. 説明前回は、MySQL のインストールと構成、MySQL ステートメントの使用、MySQL デ...
この記事では、MySQLのインストールと設定のリモートログインチュートリアルを参考までに紹介します。...
ある達人がかつて、自分の妻のことを知るのと同じくらい、自分が管理するデータベースのことを知るべきだと...
この記事では、携帯電話認証コードログインを実装するためのVueの具体的なコードを参考までに共有します...
ほとんどのナビゲーション バーは、下の図に示すように水平に配置されていますが、これはどのように実現さ...