sqlite获取具有相同列值的记录

时间:2010-03-16 17:43:29

标签: sql sqlite

我有一个SQLite数据库,其中有人LastName,FirstName,Department,我需要进行查询,向我显示任何具有相同First&姓氏。我发现以下语句应该按照我想要的单个字段进行,但是当我尝试使用它来提取所有记录时,只有姓氏相同的情况下,它似乎不适合我。我怎么能这样做?

Select myField From myTable Group by myField Where count(myField)>1 

2 个答案:

答案 0 :(得分:9)

尝试:

Select 
    firstname,LastName,Count(*)
    From myTable 
    Group by firstname,LastName 
    HAVING Count(*)>1

GROUP BY组合命名值相同的行 HAVING删除不符合条件的组。

上面的查询将列出名字和姓氏,以及实际上有重复名字的所有名字/姓氏的重复数。

答案 1 :(得分:2)

首先,您需要使用HAVING而不是WHERE来限定GROUPed BY结果:

 SELECT myField FROM myTable GROUP BY myField HAVING COUNT(myField) > 1 

其次,您可以将此扩展到多个列,如下所示:

 SELECT MyCol1, MyCol2 FROM MyTable 
 GROUP BY MyCol1, MyCol2
 HAVING COUNT(*) > 1