加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 需要在使用COUNT / Group By时选择所有列

发布时间:2020-12-12 06:15:38 所属栏目:MsSql教程 来源:网络整理
导读:好的,我有一张表,其中一列有一个FEW REPEATING记录. 我的任务是选择包含所有属性的REPEATING记录. CustID FN LN DOB城市州 DOB有一些重复值,我需要从整个表中选择并列出DOB字段中相同的所有记录的所有列. 我试试…… Select DOB,COUNT(DOB) As 'SameDOB' from
好的,我有一张表,其中一列有一个FEW REPEATING记录.

我的任务是选择包含所有属性的REPEATING记录.

CustID FN LN DOB城市州

DOB有一些重复值,我需要从整个表中选择并列出DOB字段中相同的所有记录的所有列.

我试试……

Select  DOB,COUNT(DOB) As 'SameDOB' from Table1

group by DOB

HAVING (COUNT(DOB) > 1)

这只返回两列,一行第一列是多次出现的DOB列,第二列给出了多少列.

我需要找出一种方法来列出所有属性而不仅仅是这两个……

请指导我正确的方向.

解决方法

我认为更通用的解决方案是使用Windows函数:
select *
from (select *,count(*) over (partition by dob) as NumDOB
      from table
     ) t
where numDOB > 1

这更通用的原因是因为很容易在两列或更多列中更改为重复项.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读