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の具体的なコードを参考までに紹介します...

Linux での JDK と Tomcat のアップロードと設定に関する詳細なチュートリアル

準備1. 仮想マシンを起動する2. gitツールルートアカウントでログインルートアカウントを使用して...

Vueはカスタム命令を使用してページの下部に透かしを追加します

プロジェクトシナリオプロジェクトの背景全体にカスタム透かしを追加します。透かしのテキスト、フォントの...

CSSはマウスが画像に移動したときにマスク効果を実現します

1.マスクレイヤーのHTMLコードと画像をdivに配置する.img_div に入れました。 <...

CentOS 7.6 への MySQL 5.7 GA バージョンのインストール チュートリアル図

目次環境の準備環境の準備mariadbをアンインストールする rpm -qa | grep mari...

React Nativeの起動プロセスの詳細分析

はじめに: この記事ではreact-native-cliで作成したサンプル プロジェクト (Andr...

Linuxシステムでノードプロセスを実行しているが、プロセスを強制終了できない問題を解決します

まず、Linux システムで実行されているノード プロセスはプロセスを強制終了できないことを紹介しま...

CentOS7におけるKVM仮想化の基本管理の詳しい説明

1. kvm仮想化をインストールする : : : : : : : : : : : : : : : :...

MySQL 8の新機能ウィンドウ関数の役割

MySQL 8.0 の新機能は次のとおりです。 Unicode 9.0 をすぐに完全にサポートウィン...

Linux で一般的なソフトウェアを設定する方法

新しいLinuxサーバーを入手する場合、通常は次の5つの構成を実行する必要があります。 HOSTAN...

JS はシンプルなカレンダー効果を実装します

この記事では、シンプルなカレンダー効果を実現するためのJSの具体的なコードを参考までに紹介します。具...

Linux サーバー上のローカル静的リソースにアクセスするために nginx を使用する方法

1. ポート 80 が占有されているかどうかを確認します。通常、ポート 80 は Apache サー...

XHTML の一般的な構造タグ

構造本文、見出し、HTML、タイトル文章abbr、頭字語、アドレス、引用ブロック、br、引用、コード...

HTML チュートリアル: 順序なしリスト

<br />原文: http://andymao.com/andy/post/102.h...

MySQLデータベースが予期せずクラッシュし、テーブルデータファイルが破損して起動できなくなる問題を解決します。

問題: MySQL データベースが予期せずクラッシュしたため、データベースを起動できませんでした。エ...