我有一个具有以下属性的 CustomerData 表:FirstName、LastName、DateofBirth、ID、Location
我正在尝试编写一个查询来提取属于多个位置的用户的名字、姓氏、出生日期和 IDNumber。
我尝试了以下代码,但我收到关于需要 group by 子句的聚合的错误。
SELECT *
FROM CustomerData
WHERE Count(Location) > 2
任何帮助将不胜感激
我有一个具有以下属性的 CustomerData 表:FirstName、LastName、DateofBirth、ID、Location
我正在尝试编写一个查询来提取属于多个位置的用户的名字、姓氏、出生日期和 IDNumber。
我尝试了以下代码,但我收到关于需要 group by 子句的聚合的错误。
SELECT *
FROM CustomerData
WHERE Count(Location) > 2
任何帮助将不胜感激
使用HAVING:
SELECT FirstName, LastName, DateofBirth, ID, Count(Location)
FROM CustomerData
GROUP BY FirstName, LastName, DateofBirth, ID
HAVING Count(Location) > 2
HAVING 基本上是一个WHERE
允许您使用聚合函数的方法。
您还可以使用子查询:
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