MySQLデータの重複チェックと重複排除の実装ステートメント

MySQLデータの重複チェックと重複排除の実装ステートメント

テーブル user があり、フィールドは id、nick_name、password、email、phone です。

1. 単一フィールド(ニックネーム)

重複レコードを含むすべてのレコードを検索

select * from user where nick_name in (count(nick_name)>1 を持つ nick_name で user グループから nick_name を選択します);

重複レコードがある各レコードグループ内で最大のIDを持つレコードを検索します。

select * from user where id in (select max(id) from user group by nick_name having count(nick_name)>1);

最小のIDを持つレコードではなく、冗長なレコードを見つけます

select * from user where nick_name in (select nick_name from user group by nick_name having count(nick_name)>1) and id not in (select min(id) from user group by nick_name having count(nick_name)>1);

冗長な重複レコードを削除し、最小のIDを持つレコードのみを保持します。

nick_name が (select nick_name from (select nick_name from user group by nick_name having count(nick_name)>1) as tmp1) に含まれ、id が (select id from (select min(id) from user group by nick_name having count(nick_name)>1) as tmp2) に含まれないユーザーから削除します。

2. 複数のフィールド(ニックネーム、パスワード)

重複レコードを含むすべてのレコードを検索

select * from user where (nick_name,password) in (select nick_name,password from user group by nick_name,password where having count(nick_name)>1);
 

重複レコードがある各レコードグループ内で最大のIDを持つレコードを検索します。

select * from user where id in (select max(id) from user group by nick_name,password where having count(nick_name)>1);

各重複レコード グループ内の冗長レコードを検索しますが、最小の ID を持つレコードは検索しません。

(nick_name,password) が (select nick_name,password from user group by nick_name,password having count(nick_name)>1) かつ id が (select min(id) from user group by nick_name,password having count(nick_name)>1) に含まれないユーザーから * を選択します。

冗長な重複レコードを削除し、最小のIDを持つレコードのみを保持します。

(nick_name、password) が (select nick_name、password from (select nick_name、password from user group by nick_name、password having count(nick_name)>1) as tmp1) 内にあり、id が (select id from (select min(id) id from user group by nick_name、password having count(nick_name)>1) as tmp2) 内にないユーザーから削除します。

上記は、MySQL データの重複チェックと重複排除の実装ステートメントの詳細な内容です。MySQL データの重複チェックと重複排除の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • MySQL 開発スキル: JOIN 更新とデータ重複チェック/重複排除
  • 1つのSQL文でMySQLの重複排除が完了し、1つが保持されます。
  • MySQLの重複排除方法
  • SQL データベースにおける重複排除についての簡単な説明
  • 重複を削除するSQLグループ化と並べ替えの小さな例
  • MySQL における重複排除の 2 つの方法とサンプル コードの詳細な説明
  • 重複SQLのチェックと削除方法の実践記録

<<:  Linux resolv.conf の簡単な分析

>>:  Linuxファイルコマンドの使用

推薦する

iframe タグの使用方法の詳細な説明 (属性、透明度、適応高さ)

1. iframe の定義と使用法iframe 要素は、別のドキュメントを含むインライン フレーム...

ネイティブ JavaScript でシンプルな Gobang ゲームを実装する

この記事では、JavaScriptで簡単なGobangゲームを実装するための具体的なコードを参考まで...

mysql5.7.21.zip インストールチュートリアル

mysql5.7.21 zipの詳細なインストール手順は次のとおりです。 1. 解凍して指定されたデ...

MySQL マルチテーブルクエリの詳細な説明

よく食べて十分に休息を取るというのは簡単なことのように思えますが、実際に実行するのはそれほど簡単では...

LambdaProbe を使用して Tomcat を監視する方法

導入: Lambda Probe (旧称 Tomcat Probe) は、Apache Tomcat...

PythonはデータベースMySQLの解凍バージョンのインストール構成に接続し、問題が発生しました

導入今日は Python でデータベースに接続する方法を学んだので、MySQL データベースをインス...

Vue要素ヘッダーにスラッシュを追加するための実装コード

<テンプレート> <div class="アプリコンテナ"&...

IE5.0以降のHTCコンポーネントの定義の概要

Microsoft IE 5.0 がリリースされる前は、Web プログラミングにおける最大の課題は、...

JavaScript を使用してカルーセル効果を実装する

この記事では、カルーセルマップの特殊効果を実現するためのJavaScriptの具体的なコードを参考ま...

HTTP サーバーとクライアントのやり取りをシミュレートする Node.js+postman

目次1. NodeがHTTPサーバーを構築する2. HTTPサーバーがリクエストを取得する1. Po...

Uniappがスライディングスコアリング効果を実現

この記事では、スライディングスコアリングを実装するためのuniappの具体的なコードを参考までに共有...

DIV 背景半透明テキスト非半透明スタイル

DIVの背景は半透明ですが、DIV内の文字は半透明ではありませんコードをコピーコードは次のとおりです...

MySQL スケジュールタスク (EVENT イベント) を詳細に設定する方法

目次1. イベントとは何ですか? 2. 「イベント」機能を有効にする1. 機能が有効になっているかど...

MySQLにインデックスを追加する方法

インデックスの簡単な紹介は次のとおりです。インデックスを追加する目的は、データベース クエリのパフォ...