如何分校统计平均分?

孙紫若孙紫若最佳答案最佳答案

假设你的数据在一张表(Student)当中,而每个学生的成绩(Score)又在一个表里排列,统计的方法就相对简单些 先加一个外键,把两个表牵涉到的ID关联起来 然后就可以用SQL写出对应的语句来查询了 select s.name as '学生姓名',s.学号,avg(sc.score)作为‘平均分数’ from student s left join score sc on (s.id=sc.sid) group by s.id;这样就能把各个学生的分数给求出来 当然,如果你要打印的结果是多行的话,只需要再把上面那条SQL写进一个循环里就可以了 如果是想实现这个功能的话,用C#之类的语言就比较简单了,用ADO.NET连接数据库之后,直接写个存储过程就好了。

但问题是你给出的条件好像是想直接用Excel做,而且是用Vlookup函数的姿势去做的…… 这个函数是查找两表之间是否存在相同数据,并以此进行引用。 但你现在是想把两个不同结构的数据集合并在一起,再通过某个字段进行匹配引用的操作——这种操作应该叫“交叉查询”或者“联查”,用SQL语法就是左联结或者内联结 所以如果你的目标就是用Excel完成上述SQL所能够完成的功能,那么你需要先构建一个类似下图的结构(这里为了显示清晰,只显示了两条记录,实际上可能有很多条):

然后在对应的位置写上对应的函数即可。 在数据表的引用位置写入公式 VLOOKUP 以上仅仅讨论了平均分的计算,如果要加上名次或者排名,则稍微复杂一些。

我来回答
请发表正能量的言论,文明评论!