我有一个CustomerData表,其中包含以下属性: FirstName,LastName,DateofBirth,ID,位置
我正在尝试编写一个查询,该查询提取属于多个位置的用户的名字,姓氏,出生日期和IDNumber。
我尝试了以下代码,但是我收到有关需要group by子句的聚合的错误。
SELECT *
FROM CustomerData
WHERE Count(Location) > 2
非常感谢任何帮助
答案 0 :(得分:3)
使用HAVING:
SELECT FirstName, LastName, DateofBirth, ID, Count(Location)
FROM CustomerData
GROUP BY FirstName, LastName, DateofBirth, ID
HAVING Count(Location) > 2
HAVING基本上是WHERE
,允许您使用聚合函数。
答案 1 :(得分: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