TSQL具有无效计数

TSQL具有无效计数,tsql,having,Tsql,Having,我正在使用SSMS 2008并尝试使用HAVING语句。这应该是一个真正简单的查询。然而,我只得到一个记录返回事件,尽管有许多重复 我在这里发表声明是不是做错了什么?或者我可以使用其他功能来代替 select address_desc, people_id from dbo.address_view where people_id is not NULL group by people_id , address_desc having count(*) &g

我正在使用SSMS 2008并尝试使用HAVING语句。这应该是一个真正简单的查询。然而,我只得到一个记录返回事件,尽管有许多重复

我在这里发表声明是不是做错了什么?或者我可以使用其他功能来代替

select
      address_desc,
      people_id
from 
      dbo.address_view
where people_id is not NULL
group by people_id , address_desc
having count(*) > 1
地址视图中的示例数据:

people_id                            address_desc
----------                           ------------
Murfreesboro, TN  37130          F15D1135-9947-4F66-B778-00E43EC44B9E
11 Mohawk Rd., Burlington, MA 01803 C561918F-C2E9-4507-BD7C-00FB688D2D6E
Unknown, UN  00000                    C561918F-C2E9-4507-BD7C-00FB688D2D6E
Jacksonville, NC  28546          FC7C78CD-8AEA-4C8E-B93D-010BF8E4176D
Memphis, TN  38133                    8ED8C601-5D35-4EB7-9217-012905D6E9F1
44 Maverick St., Fitchburg, MA  8ED8C601-5D35-4EB7-9217-012905D6E9F1

GROUP BY将把您的副本合并到一行中

相反,我认为您希望查找所有具有重复
地址\u desc
人员id
值:

SELECT a.address_desc, a.people_id
    FROM dbo.address_view a
        INNER JOIN (SELECT address_desc
                        FROM dbo.address_view
                        GROUP BY address_desc
                        HAVING COUNT(*) > 1) t
            ON a.address_desc = t.address_desc

GROUP BY将把您的副本合并到一行中

相反,我认为您希望查找所有具有重复
地址\u desc
人员id
值:

SELECT a.address_desc, a.people_id
    FROM dbo.address_view a
        INNER JOIN (SELECT address_desc
                        FROM dbo.address_view
                        GROUP BY address_desc
                        HAVING COUNT(*) > 1) t
            ON a.address_desc = t.address_desc

您提供的数据中似乎没有任何重复项。having语句是正确的,但您的分组可能不正确,您是否尝试过按人员分组(id),而不使用
,地址
?是的,存在重复项。请参阅地址描述栏。@salvationisher:但这不是重复的;
people\u id
是不同的。
groupby
将对
people\u id
address\u desc
的所有独特组合进行分组。您提供的数据中似乎没有任何重复项。having语句是正确的,但您的分组可能不正确,您是否尝试过
groupby people\u id
而没有
、address\u desc>?是,有重复的。请参阅地址描述栏。@salvationisher:但这不是重复的;
people\u id
是不同的。
groupby
将对
people\u id
address\u desc
的所有独特组合进行分组。谢谢Joe!这几乎正是我所需要的!实际上,我需要的是重复的人事记录的地址。所以我只是用地址替换了上面的逻辑,它就像一个符咒一样工作@救助是有道理的。我想你一定把问题中样本数据上的标签颠倒了。是的,我刚才注意到了。谢谢,谢谢乔!这几乎正是我所需要的!实际上,我需要的是重复的人事记录的地址。所以我只是用地址替换了上面的逻辑,它就像一个符咒一样工作@救助是有道理的。我想你一定把问题中样本数据上的标签颠倒了。是的,我刚才注意到了。谢谢