用 sum group by 计算综合平均成绩

Calculate the general average grade with sum group by

我必须为每个用户显示名字和姓氏、学习年份、年龄、平均成绩以及总平均成绩。

综合平均成绩我需要这样计算:

Sum(AverageGrade)/ total number of grades


[userID]
[FirstName]
[LastName] 
[BirthDate] 
[Year] 
[AverageGrade] 

我的问题是综合平均成绩的总和。我知道我必须使用 Sum(AverageGrade) + group by 但它不起作用,帮助?

select FirstName+' '+LastName as FullName,
AverageGrade ,Year as StudyYear,
DATEDIFF(year,BirthDate,GETDATE())  AS AgeInYears
from Student

如何在此处包含 Sum(AverageGrade)?或者我该如何重写?

  FirstName LastName   Year   AverageGrade  [GeneralAverageGrade]
 
  Fatima       Alo      2         9.20         7.45
  Omar       Kutum      1         5.88         7.45
  Sado      Kerkzm      3         7.20         7.45

您是否只想要整个数据集的 averagegrade 列的总平均值?如果是这样,请使用 window 函数:

select s.*, avg(averagegrade) over() avg_averagegrade
from students s