SQL:如何返回多次出现的任何部分

SQL:如何返回多次出现的任何部分,sql,sql-server-2008,Sql,Sql Server 2008,我有以下查询,返回以下错误: 聚合不能出现在WHERE子句中,除非它位于HAVING子句或select列表中包含的子查询中,并且被聚合的列是外部引用 从计数(零件)>1的零件中选择零件 如何重写它以返回多次出现的部分。您需要使用GROUP BY和HAVING子句,如下所示: SELECT part FROM Parts GROUP BY part HAVING COUNT(*) > 1 很少使用的HAVING子句的完美机会: SELECT Part, Count(Part) as Par

我有以下查询,返回以下错误: 聚合不能出现在WHERE子句中,除非它位于HAVING子句或select列表中包含的子查询中,并且被聚合的列是外部引用

从计数(零件)>1的零件中选择零件


如何重写它以返回多次出现的部分。

您需要使用GROUP BY和HAVING子句,如下所示:

SELECT part
FROM Parts
GROUP BY part
HAVING COUNT(*) > 1

很少使用的HAVING子句的完美机会:

SELECT Part, Count(Part) as PartCount
FROM Parts
GROUP BY Part
HAVING Count(Parts) > 1
试试这个:

按计数(零件)>1的零件从零件组中选择零件