0

在此处输入图像描述

给定表格,我正在寻找一个查询来计算给定教师的给定问题的平均分数。

如果我要在表中添加另一列,例如 SCHOOLID,并希望有一列可以计算该学校给定问题的平均值,我该怎么做?

提前感谢您的所有帮助!

4

3 回答 3

4
select teacherId, questionid, AVG(Score)
From myTable
group by teacherId, questionid
于 2013-06-13T22:16:52.427 回答
1

你可以这样做:

SELECT TeacherId, QuestionId, AVG(Score)
FROM TABLE-NAME
GROUP BY TeacherId, QuestionId

这里有一些链接会有所帮助:

  1. 3所学校
  2. SQL 服务器 - MSDN
于 2013-06-13T22:36:37.523 回答
1

您可以创建一个存储过程来处理整个需求

CREATE PROCEDURE avarageCalc
(
   @teacherid nvarchar(5) = null,
   @questionid int = null,
   @schoolid int = null
)
AS
Begin

    SELECT AVG(SCORE) as Avarage 
                   FROM Table 
                   WHERE (TeacherID = @teacherid OR @teacherid IS NULL) AND 
                         (QuestionId = @questionid OR @questionid IS NULL) AND
                         (SchoolId = @schoolid OR @schoolid IS NULL)

END
于 2013-06-13T22:19:36.123 回答