1. Query the entire row of unique data
In MySQL, you can use the DISTINCT keyword or GROUP BY clause to query unique data. The DISTINCT keyword acts on the entire row of data, and the GROUP BY clause groups each column of data and returns the results.
Use the DISTINCT keyword
Use the DISTINCT keyword to filter out duplicate entire rows of data. The syntax is as follows:
SELECT DISTINCT column1, column2, ... FROM table_name;
Among them, column1, column2,... represent the column names that need to be filtered for unique data. You can specify one or more columns, and separate multiple columns with commas.
For example, we have a student table (students) as follows:
id | name | age | gender |
---|---|---|---|
张三 | 20 | 男 | |
李四 | 21 | Male | |
Wang Wu | 20 | 女 | |
Zhao Liu | 22 | Female | |
Qian Qi | 21 | Male | |
Sunba | 20 | 女 |
SELECT DISTINCT * FROM students;
The execution result is as follows:
name | age | gender | |
---|---|---|---|
张三 | 20 | Male | |
李四 | 21 | Male | ##3 |
20 | 女 | 4 | |
#22 | 女 | 5 | |
21 | Male | 6 | |
20 | 女 |
SELECT column1, column2, ... FROM table_name GROUP BY column1, column2, ...;
SELECT age, gender FROM students GROUP BY age, gender;
20 | |
21 | |
22 | |
You can see that using the GROUP BY clause can also achieve the effect of querying non-duplicate data. |
Sometimes, in addition to querying for non-duplicate data in the entire row, we also need to query for non-duplicate data in certain columns. data. For this case, we can use subquery or GROUP BY clause.
Use subquery
Use subquery to query on the columns that need to filter non-duplicate data, and pass the IN or NOT IN key Word matches the result with the original table to get the desired result.
SELECT age FROM students WHERE age IN (SELECT DISTINCT age FROM students);
The execution results are as follows:
age##20 |
---|
As you can see, subqueries can be used to filter unique data on certain columns and return the required results. |
SELECT gender FROM students GROUP BY gender;
gender
##female |
---|
The above is the detailed content of How to query unique data in MySQL. For more information, please follow other related articles on the PHP Chinese website!