首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

数据过滤的SQl话语

2012-12-16 
数据过滤的SQl语句表A、表B完全相同,表A中存学生成绩,如:表AID学生姓名课程名称分数IDSnameCnameScore1张三

数据过滤的SQl语句
表A、表B完全相同,表A中存学生成绩,如:
表A
ID     学生姓名    课程名称    分数
ID     Sname       Cname       Score
1       张三        语文         88
2       张三        数学         97
3       张三        数学         98
4       李四        语文         84
5       李四        语文         88
现在要将表A中数据插入表B,要过滤掉一些重复的数据,如张三的数学成绩和李四的语文成功有一条重复数据,只保留分数最高的那一条。过滤后表B的数据为:
表B
ID     学生姓名    课程名称    分数
ID     Sname       Cname       Score
1       张三        语文         88
2       张三        数学         98
3       李四        语文         88
[最优解释]

insert into b(id,sname,cname,score)
select id=row_number() over(order by getdate()),
  sname,cname,max(score) as score
from tb
group by sname,cname

[其他解释]
select Sname,Cname,max(Score) from 表A group by Sname,Cname
[其他解释]
null

热点排行