怎么写这个数据库的sql语句

来源:百度知道 编辑:UC知道 时间:2024/06/17 10:07:39
有两个表,一个表里有组名和姓名,一个组名对应有很多姓名,一对多。另一个表里有姓名和姓名对应的分数,一对一。现在要求出分数总和最高的组名,该怎么写这个sql语句啊?还有一个求出平均分数最高的组名的sql语句

你至少把字段贴出来嘛~

select top 1 组名, sum(分数) as sum_fen
from 表1 , 表2
where 表1.姓名 = 表2.姓名
order by Sum(分数) as desc

select top 1 组名, avg(分数) as sum_fen
from 表1 , 表2
where 表1.姓名 = 表2.姓名
order by avg(分数) as desc

表1:team ,列:teams,names
表2:Student ,列:names,scores

分数总和最高的组名
select t.teams,sum(s.scores)from Student s
inner join team t on s.names=t.names
group by t.teams order by sum(s.scores) desc
平均分数最高的组名
select t.teams,avg(s.scores)from Student s
inner join team t on s.names=t.names
group by t.teams order by sum(s.scores) desc

刚才三楼的朋友写的很不错,用Top 我怎么就没想到呢。。一看他就很专业,我用不专业的方法写一下,没有用Top,这对我也是一种锻炼。。 语句长了一点。。 不要见怪。。

下面我来表达一下这两个表的结构:

表1名字为:t

列名(组) 列名(姓名)
group1 name1
1 aa
1 bb
2 cc
2 dd
2 ee

表2名字为:t2

列名(姓名) 列名(分数)
name1 fen
aa 99
bb 98
cc