2012-09-18 108 views
2

我有一個CustomerData表具有以下屬性: 名字,姓氏,出生日期,身份證,位置計數記錄2

我嘗試寫拉動第一名稱的查詢,姓氏,出生日期以及屬於多個位置的用戶的IDNumber。

我試過下面的代碼,但我得到一個關於需要一個group by子句的聚合的錯誤。

SELECT * 
FROM CustomerData 
WHERE Count(Location) > 2 

任何援助將不勝感激

回答

3

使用HAVING

SELECT FirstName, LastName, DateofBirth, ID, Count(Location) 
FROM CustomerData 
GROUP BY FirstName, LastName, DateofBirth, ID 
HAVING Count(Location) > 2 

HAVING基本上是WHERE,允許您使用聚合函數。

+0

謝謝,我也用不同之處在我的COUNT條數不同位置。謝謝。 – dp3

1

你也可以使用一個子查詢:

select c1.FirstName, c1.LastName, c1.DateofBirth, c1.ID, c2.CntLocation 
from CustomerData c1 
left join 
(
    SELECT Count(Location) CntLocation, location 
    FROM CustomerData 
    group by location 
) c2 
    on c1.location = c2.location 
WHERE CntLocation > 2