MySQLで重複データを削除する詳細な例

MySQLで重複データを削除する詳細な例

MySQLで重複データを削除する詳細な例

重複レコードには 2 つの意味があります。1 つは完全に重複したレコード、つまりすべてのフィールドが繰り返されているレコードです。もう 1 つは一部のフィールドが繰り返されているレコードです。最初のタイプの重複は比較的簡単に解決できます。重複を削除するには、クエリ ステートメントで distinctive キーワードを使用するだけです。ほぼすべてのデータベース システムが distinctive 操作をサポートしています。この重複の主な原因はテーブルの設計が不適切であることであり、テーブルに主キーまたは一意のインデックス列を追加することでこれを回避できます。

t から distinct * を選択します。

2 番目のタイプの重複問題の場合、通常は重複レコードのいずれかをクエリする必要があります。テーブル t に id、name、address の 3 つのフィールドがあるとします。id は主キーです。繰り返されるフィールドは name と address です。これら 2 つのフィールドに対して一意の結果セットを取得する必要があります。

-- Oracle、MySQL、相関サブクエリの使用

t t1から*を選択

 ここで、t1.id =

 (min(t2.id) を選択)

  t t2から

  ここで、t1.name = t2.name、t1.address = t2.address です。

-- Hive は FROM 句内のサブクエリのみをサポートします。サブクエリには名前が必要であり、列は一意である必要があります。

t1を選択します。*

 t t1から、

   (名前、アドレス、最小(ID) ID を t グループから名前、アドレスで選択) t2

 ここで、t1.id = t2.id;

 

-- Hiveのrow_number()分析関数を使用することもできます

t.id、t.name、t.address を選択

 (ID、名前、住所を選択)

row_number() を (名前で分配し、アドレスを ID でソート) として rn に適用 

     tから) t 

 ここでt.rn=1です。

読んでいただきありがとうございます。お役に立てれば幸いです。このサイトをサポートしていただきありがとうございます。

以下もご興味があるかもしれません:
  • MySQL テーブル内の重複データを検索して削除する方法の概要
  • MySQL クエリの重複データ (重複データを削除し、ID が最も小さいデータのみを保持します)
  • 1 つ以上のフィールドに基づいて重複データを検索する MySQL SQL ステートメント
  • 重複データの処理に関するMySQL学習ノート

<<:  Vue でログインと登録テンプレートを実装するためのサンプルコード

>>:  OpenShift のクイックインストールの詳細な手順

推薦する

JSはストップウォッチタイマーを実装します

この記事の例では、ストップウォッチタイマーを実装するためのJSの具体的なコードを参考までに共有してい...

この記事ではCSSの組み合わせセレクターの使い方を説明します

CSS 組み合わせセレクターには、単純なセレクターのさまざまな組み合わせが含まれます。 CSS3 に...

Linux gzipコマンドの使用

1. コマンドの紹介gzip (GNU zip) コマンドは、ファイルの圧縮と解凍に使用されます。こ...

WeChatアプレットはユーザーログインモジュールサーバーの構築を実装します

サーバーの構築には node.js を選択しました。まだインストールしていない方は、私の他の nod...

Nginx Rewrite の使用シナリオと設定方法の分析

Nginx Rewriteの使用シナリオ1. URL アドレスジャンプ。たとえば、ユーザーが pm....

MySQLの大文字と小文字の区別によって発生する問題の分析

MYSQLは大文字と小文字を区別します言葉を見れば信じられます。タイトルを見れば内容がわかります。 ...

ブラウザは関連するHTTPヘッダーをキャッシュし、HTTPリクエストの数を最小限に抑えます。

最近、Yahoo の 34 の黄金律を読み、ウェブサイトのパフォーマンスを最適化する方法を学びました...

Dockerを使用してSpring Bootプロジェクトをデプロイする手順

目次シンプルなSpringbootプロジェクトを作成する1. pom.xmlでSpring Boot...

MySQL 8.0 のインデックス スキップ スキャン

序文MySQL 8.0.13 では、インデックス スキップ スキャン (インデックス ジャンプ スキ...

Python の MySQL データベース LIKE 演算子の詳細な説明

LIKE 演算子は、列内の指定されたパターンを検索するため、WHERE 句で使用されます。文法: 列...

レスポンシブなカードホバー効果を実現するための HTML+CSS

目次成し遂げる:要約:言うことはあまりありませんが、まずは効果を見てみましょう。 カードホバー、レス...

overflow:autoの使い方の詳しい説明

本文に入る前に、オーバーフローとフレックスレイアウトの使い方をいくつか紹介します。 overflow...

JavaScriptの知識ポイントの詳しい説明

目次1. JavaScriptの基礎2. 基本的なJavaScript構文3. JavaScript...

MySQL 8.0.22.0 のダウンロード、インストール、設定方法のグラフィックチュートリアル

MySQL 8.0.22のダウンロード、インストール、設定方法、参考までに具体的な内容は次のとおりで...

MySQL で絵文字表現を挿入できない理由と解決策

失敗のシナリオMySQL データベースに絵文字表現を挿入するために JDBC を呼び出すと、例外ja...