我有一个SQLite数据库,其中有人LastName,FirstName,Department,我需要进行查询,向我显示任何具有相同First&姓氏。我发现以下语句应该按照我想要的单个字段进行,但是当我尝试使用它来提取所有记录时,只有姓氏相同的情况下,它似乎不适合我。我怎么能这样做?
Select myField From myTable Group by myField Where count(myField)>1
答案 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