利用SQL在对数据做统计阐发的时辰 , 经常需要对数据进行过滤 , 筛选出不反复的记实 , 以及统计不反复的记实行数 , 那么 , 该若何实现呢?
方式/
1建立一个姑且表 , 用于演示sqlserver语法中的去重关头字distinct的利用 。 本文以sqlserver数据库为例演示
IF OBJECT_ID('tempdb..#tmp1') IS NOT NULL DROP TABLE #tmp1;
CREATE TABLE #tmp1(
Col1 varchar(50),
Col2 int
);
文章插图
2【SQL如何获取不重复的数据,去重后的数据行数】往姑且表中插入几行测试数据 , 用于演示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查询姑且表中所有的测试数据
select * from #tmp1;
文章插图
4利用distinct查询出整个表所有字段值不反复的记实
select distinct * from #tmp1
文章插图
5distinct除了过滤整个表不反复的记实之外 , 还可以对指定列去反复 , 多个列利用逗号分隔即可
select distinct Col1 from #tmp1;
select distinct Col1, Col2 from #tmp1;
文章插图
6若是想返回姑且表中Col1列不反复的记实行数 , 该若何书写sql语句呢?利用下面的sql , 从运行成果来看 , 并没有达到预期的结果
select distinct count(Col1) from #tmp1;
文章插图
7试着把distinct和count互换一个位置 , sql语句执行会怎么样呢?从运行成果可以看出 , 这样写就可以达到预期的结果 , Col1列的不反复行数准确的返回了
select count(distinct Col1) from #tmp1;
文章插图
以上内容就是SQL如何获取不重复的数据 , 去重后的数据行数的内容啦 , 希望对你有所帮助哦!
推荐阅读
- 怎么在手机申请建设银行贷款,如何提高借款额度
- 如何调用指向类成员数据的指针
- 如何爬取网站数据——前嗅ForeSpider使用教程
- 如何开通百家号做自媒体
- 电商小程序如何快速裂变获客
- 如何使用美图秀秀不露痕迹地去除部分内容
- 迅雷如何隐藏悬浮框,详细教程
- 如何使用美图秀秀压缩图片
- 如何自定义搜狗输入法的快捷键
- 油耗怎么算几毛一公里 如何计算一公里多少钱