MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLテーブルの重複レコードをカウントしますか?


MySQLのif()を使用して、重複レコードをカウントできます。構文は次のとおりです-

SELECT yourColumnName, COUNT(*) AS anyVariableName, IF (
   COUNT(*)>1,"Duplicate Records", "Not Duplicate records") as anyVariableName FROM yourTableName group by yourColumnName;

上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-

mysql> create table DuplicateRecords
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Name varchar(30),
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.82 sec)

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。クエリは次のとおりです-

mysql> insert into DuplicateRecords(Name) values('Carol');
Query OK, 1 row affected (0.81 sec)

mysql> insert into DuplicateRecords(Name) values('John');
Query OK, 1 row affected (0.17 sec)

mysql> insert into DuplicateRecords(Name) values('Sam');
Query OK, 1 row affected (0.19 sec)

mysql> insert into DuplicateRecords(Name) values('John');
Query OK, 1 row affected (0.17 sec)

mysql> insert into DuplicateRecords(Name) values('Sam');
Query OK, 1 row affected (0.11 sec)

mysql> insert into DuplicateRecords(Name) values('Sam');
Query OK, 1 row affected (0.20 sec)

mysql> insert into DuplicateRecords(Name) values('John');
Query OK, 1 row affected (0.12 sec)

mysql> insert into DuplicateRecords(Name) values('Carol');
Query OK, 1 row affected (0.14 sec)

mysql> insert into DuplicateRecords(Name) values('Carol');
Query OK, 1 row affected (0.10 sec)

mysql> insert into DuplicateRecords(Name) values('Mike');
Query OK, 1 row affected (0.14 sec)

selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです-

mysql> select *from DuplicateRecords;

以下は出力です-

+----+-------+
| Id | Name  |
+----+-------+
| 1 | Carol  |
| 2 | John   |
| 3 | Sam    |
| 4 | John   |
| 5 | Sam    |
| 6 | Sam    |
| 7 | John   |
| 8 | Carol  |
| 9 | Carol  |
| 10 | Mike  |
+----+-------+
10 rows in set (0.00 sec)

これは、テーブルから重複レコードをカウントするためのクエリです-

mysql> SELECT Name, COUNT(*) AS Repetition, IF (COUNT(*)>1,"Duplicate Records", "Not Duplicate records") as IsDuplicateRecordsOrNot
   -> from DuplicateRecords group by Name;

以下は出力です-

+-------+------------+-------------------------+
| Name  | Repetition | IsDuplicateRecordsOrNot |
+-------+------------+-------------------------+
| Carol |          3 | Duplicate Records       |
| John  |          3 | Duplicate Records       |
| Sam   |          3 | Duplicate Records       |
| Mike  |          1 | Not Duplicate records   |
+-------+------------+-------------------------+
4 rows in set (0.00 sec)

  1. 通貨レコードを設定するためのMySQLクエリ

    MySQLでFORMAT()を使用して、通貨レコードを表示し、正しい形式で表示します。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Amount DECIMAL(15,4)    -> ); Query OK, 0 rows affected (0.75 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(90948484); Que

  2. 単一のクエリでIN()を使用してMySQLテーブルからレコードを削除する

    テーブルを作成しましょう- mysql> create table DemoTable1922    (    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    StudentName varchar(20)    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1922(StudentNa