ホームページ  >  記事  >  データベース  >  mysqlで重複フィールドをクエリする方法

mysqlで重複フィールドをクエリする方法

WBOY
WBOYオリジナル
2022-01-12 10:17:2523683ブラウズ

mysql では、count() 関数を使用して、繰り返しフィールドをクエリできます。この関数は、指定した条件の結果を返すことができます。構文は、「SELECT フィールド値 COUNT(*) as count FROM table name GROUP BY」です。フィールド値のカウントが 1 を超えています。」

mysqlで重複フィールドをクエリする方法

このチュートリアルの動作環境: Windows10 システム、mysql8.0.22 バージョン、Dell G3 コンピューター。

#mysql で重複フィールドをクエリする方法#例 accountinfo テーブルのデータは次のとおりです:

mysqlで重複フィールドをクエリする方法 シナリオ 1 単一フィールドの重複データの検索と重複排除

上記の表の単一フィールドのアカウント フィールドで同じデータを検索する必要があります。

このアイデアは 3 つのステップで簡単に説明されています。

最初のステップ

重複データを見つけるために、最初に考えることは、それは重複しているため、次に次のことです。繰り返しであっても、数値は 1 より大きくなります。それがカウント関数です。

チェックしたいのは単一のフィールド勘定科目であるため、勘定科目フィールドのディメンションに従ってグループ化する必要があります。それが機能別のグループです。

最初のステップで作成した mysql ステートメントは次のとおりです:

 SELECT account ,COUNT(account) as count FROM accountinfo GROUP BY account;

クエリ結果は次のとおりです:

mysqlで重複フィールドをクエリする方法2 番目のステップ

はい、やはり、カウントが 1 より大きいデータはアカウント A と B のデータです。

次に、少しフィルタリングして、カウントが 1 より大きいデータのアカウントのみを見つけます。

2 番目のステップでは、フィルター条件を結合する必要があります。記述された mysql ステートメントは次のとおりです。

 SELECT account FROM accountinfo GROUP BY account HAVING COUNT(account) > 1;

クエリの結果は次のとおりです。

mysqlで重複フィールドをクエリする方法 3 つのステップ

#重複するアカウント データ A と B が見つかりました。次に、アカウント A と B を一緒に使用して他のデータをクエリするだけです。

つまり、2 番目のステップで見つかったデータをサブクエリ条件として使用し、IN 関数を使用します。

3 番目のステップで記述された mysql ステートメントは次のとおりです:

 SELECT * FROM  accountinfo WHERE account IN
 (
 SELECT account FROM accountinfo GROUP BY account HAVING COUNT(account) > 1
 );

クエリの結果は次のとおりです:

mysqlで重複フィールドをクエリする方法重複したデータは除外されました。

推奨学習:

mysql ビデオ チュートリアル

以上がmysqlで重複フィールドをクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。