sqlserver根据字段去重
使⽤ row_number() over (partition by 要去重的字段 order by 排序字段)
数据库表结构学⽣成绩表 UserGrade
Id int Checked 主键Id
Name varchar(50) Checked 学⽣名
Course varchar(50) Checked 课程名
Score int Checked 分数
有如下数据,
1001 李四英语 100
1000 张三语⽂ 80
1004 李四数学 60
1005 李四语⽂ 80
1008 张三英语 60
1007 王五数学 30
1006 王五语⽂ 50
1003 王五英语 50
1002 张三数学 90
要获取学⽣名并去重
select name from(
select name ,row_number() over ( partition by name order by score) rn from UserGrade
)as s
where rn=1
字段字符串去重复其实就是根据名称进⾏分组取每组中的第⼀个
select name ,row_number() over ( partition by name order by score) rn from UserGrade查询结果为李四1李四 2 李四 3 王五 1 王五 2 王五 3 张三 1 张三 2 张三 3
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论