广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    sqlserver如何统计相同值出现指定次数的结果?

    来源:网络收集  点击:  时间:2024-05-19
    【导读】:
    在sqlserver数据库的数据过滤查询的过程中,有时候希望知道某些值出现的次数,以及哪些值出现了大于指定的多少次,这个时候需要使用到distinct、group by、count(1)、having等关键字方法/步骤1/7分步阅读

    创建一个临时表,用于演示如何筛选出表中指定字段值重复的记录数量

    IF OBJECT_ID(tempdb..#tmp1) IS NOT NULL DROP TABLE #tmp1;

    CREATE TABLE #tmp1(

    Col1 varchar(50),

    Col2 varchar(200),

    Col3 int

    );

    2/7

    往临时表中插入几行测试数据,其中部分字段的Col2栏位值插入相同值,用于统计筛选相同Col2的行数

    insert into #tmp1(Col1, Col2, Col3) values(Code1, 语文, 95);

    insert into #tmp1(Col1, Col2, Col3) values(Code2, 数学, 96);

    insert into #tmp1(Col1, Col2, Col3) values(Code3, 英语, 92);

    insert into #tmp1(Col1, Col2, Col3) values(Code4, 语文, 98);

    insert into #tmp1(Col1, Col2, Col3) values(Code5, 语文, 97);

    insert into #tmp1(Col1, Col2, Col3) values(Code6, 英语, 92);

    3/7

    查询临时表中的测试数据

    select * from #tmp1;

    4/7

    使用distinct可以筛选出Col2列的不同值的记录

    select distinct Col2

    from #tmp1

    5/7

    使用count(1)加上group by计算出Col2不重复值的记录行数

    select Col2, COUNT(1)

    from #tmp1

    group by Col2

    6/7

    使用having过滤出Col2列的行数大于1的值以及行数

    select Col2, COUNT(1)

    from #tmp1

    group by Col2

    having COUNT(1) 1

    7/7

    使用having过滤出Col2列的行数大于1的值以及行数,在按照行数倒序排列

    select Col2, COUNT(1)

    from #tmp1

    group by Col2

    having COUNT(1) 1

    order by COUNT(1) desc

    SQLSERVERHAVINGCOUNT去重
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_801211.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-05 19:01:49  耗时:0.032
    0.0319s