SQL如何获取不重复的数据,去重后的数据行数

利用SQL在对数据做统计阐发的时辰,经常需要对数据进行过滤,筛选出不反复的记实,以及统计不反复的记实行数,那么,该若何实现呢?

方式/步调

  1. 1

    建立一个姑且表,用于演示sqlserver语法中的去重关头字distinct的利用。本文以sqlserver数据库为例演示

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

    CREATE TABLE #tmp1(

        Col1 varchar(50),        

        Col2 int        

    );

  2. 2

    往姑且表中插入几行测试数据,用于演示distinct的利用

    insert into #tmp1(Col1, Col2) values('Code10', 10);

    insert into #tmp1(Col1, Col2) values('Code20', 20);

    insert into #tmp1(Col1, Col2) values('Code10', 10);

    insert into #tmp1(Col1, Col2) values('Code5', 20);

  3. 3

    查询姑且表中所有的测试数据

    select * from #tmp1;

  4. 4

    利用distinct查询出整个表所有字段值不反复的记实

    select distinct * from #tmp1 

  5. 5

    distinct除了过滤整个表不反复的记实之外,还可以对指心猿意马列去反复,多个列利用逗号分隔即可

    select distinct Col1 from #tmp1; 

    select distinct Col1, Col2 from #tmp1; 

  6. 6

    若是想返回姑且表中Col1列不反复的记实行数,该若何书写sql语句呢?利用下面的sql,从运行成果来看,并没有达到预期的结果

    select distinct count(Col1) from #tmp1;

  7. 7

    试着把distinct和count互换一个位置,sql语句执行会怎么样呢?从运行成果可以看出,这样写就可以达到预期的结果,Col1列的不反复行数准确的返回了

    select count(distinct Col1) from #tmp1;

  • 发表于 2019-05-12 20:54
  • 阅读 ( 1868 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

0 篇文章

作家榜 »

  1. xiaonan123 189 文章
  2. 汤依妹儿 97 文章
  3. luogf229 46 文章
  4. jy02406749 45 文章
  5. 小凡 34 文章
  6. Daisy萌 32 文章
  7. 我的QQ3117863681 24 文章
  8. 华志健 23 文章

联系我们:uytrv@hotmail.com 问答工具