我有一个Personal
带有一LastName
列和一个MaybeUniqueID
. 我想输出一个带有一LastName
列的表,其中设置在该列上的计数器MaybeUniqueID
提供超过 1 行。
- 我想在一次独特的运行中完成所有事情,避免中间步骤输出。
- 我更喜欢不使用临时表或表变量,否则我想最多使用一个表变量(不是临时表),但我认为这不是必需的。
- 我正在使用 Microsoft SQL Server 2005。
HAVING
我用不同的 SQL 语句(如or )尝试了不同的场景GROUP BY
,但我没有得到我想要的结果。请查看以下不起作用的摘要测试:
SELECT LastName
FROM Personal
JOIN
(SELECT MaybeUniqueID AS ID2,
COUNT(*) AS CNT
FROM Personal
--WHERE CNT > 1
GROUP BY MaybeUniqueID
HAVING cnt > 1
) AS MultiMaybeUniqueID
ON Personal.MaybeUniqueID = MultiMaybeUniqueID.ID2