妙用MSSQL从结果中提取去重数据(mssql从结果中去重)
MSSQL中从结果中提取去重数据是一项很重要的任务,本文运用MSSQL对结果进行行和列去重处理,并介绍如何在MSSQL中实现去重能力。
首先我们创建一个包含了一些重复值的表,例如:
create table student(
id int primary key, name varchar(100),
age int)
insert into student values(1, '小明', 15)insert into student values(2, '小红', 16)
insert into student values(3, '小明', 15)
select * from student
此时,我们可以看到表的内容有两个重复的行(id为1和3的行),我们需要从中取出去重的数据:
select distinct * from student
使用distinct关键字,我们可以得到行去重的结果:
id name age
1 小明 152 小红 16
如果我们需要对某列去重,例如只需要取出不同的name:
select distinct name from student
此时,只会得到name列去重后的结果:
name
小明小红
此外,MSSQL也支持用group by子句进行行和列去重,例如我们按照age分组:
select age, count(*) from student group by age
运行上面的代码就可以得到age的去重结果:
age count(*)
15 216 1
最后,如果要将两个或更多列按一个列来去重,可以用select子句的聚合函数来实现,例如:
select distinct name, max(age) from student group by name
运行上面的代码就可以得到name/age列去重后的结果:
name max(age)
小明 15小红 16
总而言之,MSSQL提供了多种处理数据去重的方式,根据不同需求可以选择合适的去重处理方式,使用MSSQL从结果中提取去重数据变得更加方便。