妙用MSSQL从结果中提取去重数据(mssql从结果中去重)

2023-04-22 07:25:06 提取 妙用 中去

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 小明 15
2 小红 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 2
16 1

最后,如果要将两个或更多列按一个列来去重,可以用select子句的聚合函数来实现,例如:

select distinct name, max(age) from student group by name

运行上面的代码就可以得到name/age列去重后的结果:

name    max(age)
小明 15
小红 16

总而言之,MSSQL提供了多种处理数据去重的方式,根据不同需求可以选择合适的去重处理方式,使用MSSQL从结果中提取去重数据变得更加方便。

相关文章