CREATE TABLE person_tbl
(
first_name CHAR(20) NOT NULL,
last_name CHAR(20) NOT NULL,
sex CHAR(10),
UNIQUE (last_name, first_name)
);
查詢重復記錄
select user_name,count(*) as count from user_table group by user_name having count>1;select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)
mysql> SELECT DISTINCT last_name, first_name
-> FROM person_tbl
-> ORDER BY last_name;
你也可以使用 GROUP BY 來讀取數(shù)據(jù)表中不重復的數(shù)據(jù):
mysql> SELECT last_name, first_name
-> FROM person_tbl
-> GROUP BY (last_name, first_name);
刪除重復數(shù)據(jù)
如果你想刪除數(shù)據(jù)表中的重復數(shù)據(jù),你可以使用以下的SQL語句:
mysql> CREATE TABLE tmp SELECT last_name, first_name, sex
-> FROM person_tbl;
-> GROUP BY (last_name, first_name);
mysql> DROP TABLE person_tbl;
mysql> ALTER TABLE tmp RENAME TO person_tbl;
更多建議: