如下咱们将统计表中 first_name 和 last_name的重复记录数:mysql
mysql> SELECT COUNT(*) as repetitions, last_name, first_name -> FROM person_tbl -> GROUP BY last_name, first_name -> HAVING repetitions > 1;
以上查询语句将返回 person_tbl 表中重复的记录数。 通常状况下,查询重复的值,请执行如下操做:sql
若是你须要读取不重复的数据能够在 SELECT 语句中使用 DISTINCT 关键字来过滤重复数据。spa
mysql> SELECT DISTINCT last_name, first_name -> FROM person_tbl;
你也能够使用 GROUP BY 来读取数据表中不重复的数据:索引
mysql> SELECT last_name, first_name -> FROM person_tbl -> GROUP BY (last_name, first_name);
若是你想删除数据表中的重复数据,你能够使用如下的SQL语句:it
mysql> CREATE TABLE tmp SELECT last_name, first_name, sex FROM person_tbl GROUP BY (last_name, first_name, sex); mysql> DROP TABLE person_tbl; mysql> ALTER TABLE tmp RENAME TO person_tbl;
固然你也能够在数据表中添加 INDEX(索引) 和 PRIMAY KEY(主键)这种简单的方法来删除表中的重复记录。方法以下:io
mysql> ALTER IGNORE TABLE person_tbl -> ADD PRIMARY KEY (last_name, first_name);