In the MySQL database, querying for duplicate records is a very common requirement. This article will introduce how to use SQL to query for duplicate records.
Generally speaking, you can use the GROUP BY and HAVING statements to query duplicate records in MySQL. Let’s introduce them in detail below.
1. Use GROUP BY and HAVING
Using GROUP BY and HAVING statements can easily query duplicate records. The specific syntax is as follows:
SELECT column_name1, column_name2, ... column_nameN, COUNT(*) FROM table_name GROUP BY column_name1, column_name2, ... column_nameN HAVING COUNT(*) > 1;
Among them, column_name1
, column_name2
, column_nameN
are the field names you want to query, table_name
is the table name you want to query, COUNT() It counts the number of duplicate values. HAVING COUNT() > 1 means that only records with duplicate values greater than once are retrieved.
For example, we have a table named students, which contains two fields id and name. Now we want to query all duplicate names, we can use the following SQL statement:
SELECT name, COUNT(*) FROM students GROUP BY name HAVING COUNT(*) > 1;
Above The SQL statement will query all repeated names and their times.
2. Use subqueries and temporary tables
Using subqueries and temporary tables can also query duplicate records. The following is the specific SQL statement:
SELECT id, name FROM students WHERE name IN ( SELECT name FROM students GROUP BY name HAVING COUNT(*) > 1 );
The above SQL The statement will query all duplicate records, where id and name are the names of the fields to be queried, students is the name of the table to be queried, and WHERE name IN (...) represents all the duplicate records queried in the subquery. name.
Summary:
This article introduces the method of using GROUP BY and HAVING statements as well as subqueries and temporary tables to query repeated records. Readers can choose different methods according to the actual situation to better understand the situation. Meet your own needs. In addition, in practical applications, in order to improve performance, you also need to pay attention to the use of query fields and indexes.
The above is the detailed content of mysql query for duplicate records. For more information, please follow other related articles on the PHP Chinese website!