如下咱們將統計表中 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);