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 のクイックインストールの詳細な手順

推薦する

JavaScript の基本演算子

目次1. オペレーター要約する1. オペレーター演算子は、代入、比較、算術演算などの機能を実装するた...

Windows Server 2016 リモート デスクトップ サービスを展開するためのクイック スタート ガイド

現在、2016サーバーは、win2008や2012よりも優れたマルチサイトhttpsサービスをサポー...

CSS継承方法

次の背景画像を持つ div があるとします。 次の反射効果を作成します。 方法はたくさんありますが、...

RHEL8 /CentOS8 でマルチノード Elastic Stack クラスターを構築する方法

一般的に ELK スタックとして知られる Elastic スタックは、Elasticsearch、L...

CSS初心者向けチュートリアル: 背景画像を画面全体に表示する

インターフェース全体に背景画像を表示したい場合は、当然 body に背景を追加することを考えます。コ...

Vue プロジェクトに ECharts を導入する

目次1. インストール2. はじめに3. 使用4. 必要に応じてEChartsチャートとコンポーネン...

MySQL 8.0 以降の一般的なコマンドの詳細な説明

リモートアクセスを有効にする次のコマンドを実行して、root ユーザーのリモート アクセス権を有効に...

22 Vue 最適化のヒント (プロジェクトの実践)

目次コードの最適化v-for でキーを使用するv-if/v-else-if/v-else でキーを使...

Dockerにelasticsearchとkibanaをインストールする方法

Elasticsearchは現在非常に人気があり、多くの企業が利用しているため、esを知らないと軽蔑...

実用的な情報が満載のJavaScript Webフォーム機能通信

1. はじめに先ほど、フロントエンドの表示の問題について説明しました。では、前のコンテンツに戻って、...

Ubuntu仮想マシンでシリアル通信にcutecomを使用する方法

Ubuntu仮想マシンでのシリアル通信にcutecomを使用する1. cutecomをインストールす...

CSS3 の transition、transform、translate の違いと機能の簡単な分析

変換して翻訳するTransform は、変換と変形を意味します。他の幅属性や高さ属性と同様に、CSS...

フロントエンド JavaScript におけるリフレクションとプロキシ

目次1. 反射とは何ですか? 2. JavaScriptで反映する2.1 Reflect.get(タ...

Vue プロジェクトでのスキャンコード決済の実装例 (デモ付き)

目次需要背景思考分析UI 表示始める1. 支払いコンポーネントテンプレートを作成する2. 支払いコン...

Tomcatの自動シャットダウンに関するバグ修正

序文最近、4 年間実行されている Java EE Web プロジェクトでは、システムが開けないという...