从MySQL表中删除部分重复项

时间:2012-06-19 18:27:24

标签: mysql sql

我有一张看起来像这样的表

Id  FirstName
5   Adam
6   Bob
8   Bob
5   Carl
5   Dewie
8   Ernest

当两行具有相同的Id时,我只想保留其中一行。在这个例子中,我将获得

Id  FirstName
5   Adam
6   Bob
8   Bob

那是否有简洁的命令?我在考虑

SELECT * FROM Persons HAVING(COUNT(Id)=1)

SELECT DISTINCT(Id), FirstName FROM Persons

但我的语法不正确。

3 个答案:

答案 0 :(得分:3)

希望你正在寻找这个::

SELECT * from Persons GROUP BY Id

答案 1 :(得分:3)

SELECT Id, MIN(FirstName)
FROM Persons
GROUP By Id

答案 2 :(得分:2)

您的DISTINCT查询也可以,您只需添加GROUP BY id

即可
SELECT DISTINCT(Id), FirstName
FROM Persons 
GROUP BY id;

Demo