SQLで重複する行を削除する方法は?
導入
SQLデータベースは、多くの場合、レコードの重複に悩まされ、データ分析と運用効率を妨げます。このガイドは、顧客データ、トランザクションログ、またはその他のデータセットを使用しているかどうかにかかわらず、これらの冗長エントリを削除するための実用的な手法を提供します。 SQLの構文、現実世界の例、およびベストプラクティスをカバーして、重複排除プロセス全体でデータの整合性を確保します。
カバーされている重要な領域
このガイドは、SQLの重複レコードの根本原因に対処し、さまざまな検出および削除方法、関連するSQL構文の詳細を調査し、データ品質を維持するためのベストプラクティスを強調します。
目次
- SQLで重複する行を削除します
- 重複したエントリの識別
-
ROW_NUMBER()
重複した削除の場合 - 重複する排除のための自己結合方法
- 一意のレコードを使用して新しいテーブルを作成します
- よくある質問
SQLで重複する行を削除する方法は?
SQLの重複行を排除するためのいくつかの方法が存在し、それぞれに独自の強みがあります。最適なアプローチは、データベースシステムと特定の要件に依存します。
複製データの一般的な原因
しばしば次のことがあります。
- データ入力エラー:手動入力中のヒューマンエラー。
- データセット合併:適切な重複排除なしでデータセットを組み合わせます。
- インポートプロセスの故障:データインポート手順中のエラー。
重複したレコードの識別
削除の前に、最初に重複する行を識別する必要があります。これらは通常、1つ以上の列で同一の値を共有します。
SQL構文:
column1、column2、count(*)を選択します Table_nameから 列ごとのグループ、列2 カウント(*)> 1;
例:
employees
テーブルを検討してください:
id | 名前 | メール |
---|---|---|
1 | アリス | alice@example.com |
2 | ボブ | bob@example.com |
3 | キャロル | carol@example.com |
4 | アリス | alice@example.com |
5 | デイブ | dave@example.com |
重複したメールを見つけるには:
電子メールを選択し、count(*) 従業員から メールでグループ カウント(*)> 1;
出力:
メール | カウント(*) |
---|---|
alice@example.com | 2 |
これにより、メールが複数回表示されていることがわかります。
ROW_NUMBER()
を使用して重複を削除する
ROW_NUMBER()
ウィンドウ関数は、パーティション内の各行に一意のシーケンシャル番号を割り当て、効率的な重複除去を可能にします。
SQL構文:
as( column1、column2を選択します。 row_number()over(column1、column2 order by(select null)by(select null))over()rn Table_nameから )) CTEから削除します ここで、rn> 1;
例:
電子メールに基づいて複製のemployees
を削除するには:
as( id、name、email、 row_number()over(idによる電子メール注文によるパーティション)as rnとして 従業員から )) CTEから削除します ここで、rn> 1;
出力:
テーブルには一意のエントリのみが含まれます。
セルフ結合を使用して複製を削除します
自己結合は、複製を識別および削除するための別の効果的な方法を提供します。
SQL構文:
T1を削除します table_name t1から Table_name T2に参加します on t1.column1 = t2.column1 およびt1.column2 = t2.column2 およびt1.id> t2.id;
例:
employees
から複製を削除するには:
E1を削除します 従業員E1から 従業員E2に参加してください one1.email = e2.email およびe1.id> e2.id;
出力:
テーブルには一意のエントリのみが含まれます。
一意のレコードを使用して新しいテーブルを作成します
一意のレコードのみを含む新しいテーブルを作成し、元のテーブルを交換することは、堅牢で安全なアプローチです。
SQL構文:
テーブルNew_Table ASを作成します 個別に選択します * old_tableから; ドロップテーブルold_table; Table new_tableの変更をold_tableに変更します。
例:
employees
の複製のクリーンアップ:
テーブルemployees_unique asを作成します 個別に選択します * 従業員から; テーブルの従業員をドロップします。 Table Employees_uniqueの変更を従業員に変更します。
出力:
employees
テーブルには、一意の行のみが含まれています。
重複を防ぐためのベストプラクティス
- データ検証:データ挿入前に検証ルールを実装します。
- 一意の制約:関連する列に一意の制約を使用します。
- 定期的な監査:定期的なデータチェックを実施して、精度を維持します。
結論
データベースのメンテナンスには、効果的な重複管理が不可欠です。説明されている方法ROW_NUMBER()
、セルフジョイン、および新しいテーブルの作成 - これを達成するためのさまざまな方法を提供します。削除操作を実行する前に、データをバックアップすることを忘れないでください。
よくある質問
Q1。 SQLデータベースで行の重複の原因は何ですか? A.データ入力エラー、インポートの問題、および不適切なデータセットの合併。
Q2。重複排除中の偶発的なデータ損失を避ける方法は? A.データをバックアップし、SQLクエリを注意深く確認します。
Q3。元のテーブルを変更せずに複製を削除できますか? A.はい、ユニークなレコードを含む新しいテーブルを作成することによって。
Q4。 ROW_NUMBER()
vs。除去が重複しDISTINCT
? A. ROW_NUMBER()
どの行が保持されるかについて、より詳細な制御を提供します。 DISTINCT
単純に複製を削除します。
以上がSQLで重複する行を削除する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











この記事では、トップAIアートジェネレーターをレビューし、その機能、創造的なプロジェクトへの適合性、価値について説明します。 Midjourneyを専門家にとって最高の価値として強調し、高品質でカスタマイズ可能なアートにDall-E 2を推奨しています。

メタのラマ3.2:マルチモーダルとモバイルAIの前進 メタは最近、ラマ3.2を発表しました。これは、モバイルデバイス向けに最適化された強力なビジョン機能と軽量テキストモデルを特徴とするAIの大幅な進歩です。 成功に基づいてo

この記事では、ChatGpt、Gemini、ClaudeなどのトップAIチャットボットを比較し、自然言語の処理と信頼性における独自の機能、カスタマイズオプション、パフォーマンスに焦点を当てています。

CHATGPT 4は現在利用可能で広く使用されており、CHATGPT 3.5のような前任者と比較して、コンテキストを理解し、一貫した応答を生成することに大幅な改善を示しています。将来の開発には、よりパーソナライズされたインターが含まれる場合があります

この記事では、Grammarly、Jasper、Copy.ai、Writesonic、RytrなどのトップAIライティングアシスタントについて説明し、コンテンツ作成のためのユニークな機能に焦点を当てています。 JasperがSEOの最適化に優れているのに対し、AIツールはトーンの維持に役立つと主張します

2024年は、コンテンツ生成にLLMSを使用することから、内部の仕組みを理解することへの移行を目撃しました。 この調査は、AIエージェントの発見につながりました。これは、最小限の人間の介入でタスクと決定を処理する自律システムを処理しました。 buildin

この記事では、Google Cloud、Amazon Polly、Microsoft Azure、IBM Watson、DecriptなどのトップAI音声ジェネレーターをレビューし、機能、音声品質、さまざまなニーズへの適合性に焦点を当てています。

今週のAIの風景:進歩、倫理的考慮、規制の議論の旋風。 Openai、Google、Meta、Microsoftのような主要なプレーヤーは、画期的な新しいモデルからLEの重要な変化まで、アップデートの急流を解き放ちました
