嘿傢伙,我有一個SQL語句,用於獲取不同活動類型(家庭作業,測驗等)的等級,如果該類型的下降最低,則會下降,否則它仍然存在。錯誤如下以及SQL代碼。總和的平均值減最小值
SELECT Student.firstName, Student.lastName, 'Grades' =
CASE
WHEN Grades.activityType = 'Homework' THEN
CASE WHEN Policy.drop_hw = 1 THEN
(AVG(SUM(Grades.grade) - MIN(Grades.grade))) * (Policy.homework/100)
ELSE
(AVG(Grades.grade) * (Policy.homework/100))
END
END, Course.courseNum, Course.sectNum, Grades.activityType
FROM ...
下面是我得到的錯誤:
- Cannot perform an aggregate function on an expression containing an aggregate or a subquery.
- Column 'Policy.drop_hw' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
這是一個很好的觀點。我沒有想到這一點。如果沒有總數,我該如何平均總和和最小值? – OneSneakyMofo 2010-12-02 20:43:57
你想做什麼?我不明白你想要計算什麼。 SUM-MIN有什麼意義? – 2010-12-02 20:57:43