养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

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

时间:2024-10-22 13:48:57

使用SQL在对数据做统计分析的时候,经常需要对数据进行过滤,筛选出不重复的记录,以及统计不重复的记录行数,那么,该如何实现呢?

方法/步骤

1、创建一个临时表,用于演示sqlserver语法中的去重关键字distinct的使用。本文艮劁飨戽以sqlserver数据库为例演示IFOBJECT_ID('tempdb.缕计瓤账.#tmp1')ISNOTNULLDROPTABLE#tmp1;CREATETABLE#tmp1(Col1varchar(50),Col2int);

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

2、往临时表中插入几行测试数据,用于演莲镘拎扇示distinct的使用insertinto#tmp1(Col1,Col2)values('Code吭稿荔徊10',10);insertinto#tmp1(Col1,Col2)values('Code20',20);insertinto#tmp1(Col1,Col2)values('Code10',10);insertinto#tmp1(Col1,Col2)values('Code5',20);

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

3、查询临时表中所有的测试数据select*from#tmp1;

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

4、使用distinct查询出整个表所有字段值不重复的记录selectdistinct*from#tmp1

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

5、distinct除了过滤整个表不重复的记录之外,还可以对指定列去重复,多个列使用逗号分开即可selectdistinctCol1from#tmp1;selectdistinctCol1,Col2from#tmp1;

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

6、如果想返回临时表中Col1列不重复的记录行数,该如何书写sql语句呢?使用下面的sql,从运行结果来看,并没有达到预期的效果selectdistinctcount(Col1)from#tmp1;

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

7、试着把distinct和count交换一个位置,sql语句执行会怎么样呢?从运行结果可以看出,这样写就可以达到预期的效果,Col1列的不重复行数正确的返回了selectcount(distinctCol1)from#tmp1;

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

© 一点知识