How To Filter Out Duplications in the Returning Rows

Q

How To Filter Out Duplications in the Returning Rows? - MySQL FAQs - SQL SELECT Query Statements with GROUP BY

✍: FYIcenter.com

A

If there are duplications in the returning rows, and you want to remove the duplications, you can use the keyword DISTINCT in the SELECT clause. The DISTINCT applies to the combination of all data fields specified in the SELECT clause. The tutorial exercise below shows you how DISTINCT works:

mysql> CREATE TABLE fyi_team (first_name VARCHAR(8), 
   last_name VARCHAR(8));

mysql> INSERT INTO fyi_team VALUES ('John', 'Gate');
mysql> INSERT INTO fyi_team VALUES ('John', 'Russell');
mysql> INSERT INTO fyi_team VALUES ('John', 'Seo');
mysql> INSERT INTO fyi_team VALUES ('John', 'Gate');
mysql> INSERT INTO fyi_team VALUES ('James', 'Gate');
mysql> INSERT INTO fyi_team VALUES ('Peter', 'Gate');
mysql> INSERT INTO fyi_team VALUES ('John', 'Gate');

mysql> SELECT * FROM fyi_team;
+------------+-----------+
| first_name | last_name |
+------------+-----------+
| John       | Gate      |
| John       | Russell   |
| John       | Seo       |
| John       | Gate      |
| James      | Gate      |
| Peter      | Gate      |
| John       | Gate      |
| John       | Gate      |
+------------+-----------+
8 rows in set (0.00 sec)

mysql> SELECT DISTINCT * FROM fyi_team;
+------------+-----------+
| first_name | last_name |
+------------+-----------+
| John       | Gate      |
| John       | Russell   |
| John       | Seo       |
| James      | Gate      |
| Peter      | Gate      |
+------------+-----------+
5 rows in set (0.00 sec)

mysql> SELECT DISTINCT last_name FROM fyi_team;
+-----------+
| last_name |
+-----------+
| Gate      |
| Russell   |
| Seo       |
+-----------+
3 rows in set (0.04 sec)

2007-05-11, 4709👍, 0💬