テーブル 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 の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
序文ファイルのコピーによってハードドライブのスペースが大量に浪費され、ファイルを更新するときに混乱が...
1. Linuxカーネルドライバモジュールの仕組み静的ロードでは、ドライバモジュールをカーネルにコン...
目次1. 新しいII. 変更element-ui は、Ele.me のフロントエンド チームが開発者...
TeamCenter12はアカウントのパスワードを入力し、ログインをクリックすると、404または50...
1. コマンドの紹介cal (カレンダー) コマンドは、現在の日付または指定された日付のグレゴリオ暦...
目次1. CSS のみを使用して作成したアニメーションのクリスマスツリー2. CSS のみを使用して...
目次1. ファイル拡張子を取得する2. コンテンツをクリップボードにコピーする3. スリープ時間は何...
目次序文Linux アプリケーション実行中に開いているファイルが多すぎる問題の分析と解決Linux ...
序文最近、C++ 動的ライブラリをテストするためにロボット フレームワークを使い始めました。ロボット...
この作品はフロントエンド開発(JSコンテンツ)の知識を使用していますが、フロント部分の後半部分の知識...
MySQL チューニング ツールの詳細な説明と実践的な演習の説明 ツールの紹介の説明 分析例の説明...
現在の日付 + 時刻 (日付 + 時刻) を取得する関数: now() mysql> now(...
目次1. ルートパスワードを忘れてしまい、データベースにアクセスできない: DBA にとって、スーパ...
始める前に、process.env.NODE_ENV にはデフォルトで開発と本番の 2 つの状態しか...
現在のデータベースでサポートされているエンジンを表示します エンジンを表示 +-----------...