我有以下select語句。我有學校,課程,學生和分數(1-100)。我想分配一個等級(A,B,C,D),然後獲得每個年級的學生總數。我的成績只能說明每個標記的次數,但並沒有等級的計數指定學生一年級並獲得每個年級的總計
select
schools.name as school_name,
courses.name as course,
CASE
WHEN ((studentgrades.averageScore/50 * 100) > 79)
THEN 'A'
WHEN ((studentgrades.averageScore/50 * 100) < 80)
AND ((studentgrades.averageScore/50 * 100) >64)
THEN 'B'
WHEN ((studentgrades.averageScore/50 * 100) < 80)
AND ((studentgrades.averageScore/50 * 100) >64)
THEN 'C'
WHEN ((studentgrades.averageScore/50 * 100) < 50)
THEN 'D'
END as grade,
count(*)
from
students,
studentgrades,
schools,
courses
where
studentgrades.studentid = students.studentid
and studentgrades.schoolid = students.schoolid
and studentgrades.schoolid = schools.school_number
and courses.id = studentgrades.coursesid
and studentgrades.averageScore is not null
and schools.name = 'St. Joe School'
group by schools.name, courses.name,standardsgrades.averageScore
我現在得到的是個體標記的計數(例如5名學生得到了88%,3得到85%等)
School Name Course Grade Count
St. Joe School MATH 30 A 5
St. Joe School MATH 30 A 3
St. Joe School MATH 30 A 2
St. Joe School MATH 30 A 1
St. Joe School MATH 30 A 1
St. Joe School MATH 30 A 2
St. Joe School MATH 30 A 3
St. Joe School MATH 30 B 2
St. Joe School MATH 30 B 5
St. Joe School MATH 30 B 2
St. Joe School MATH 30 B 1
St. Joe School MATH 30 B 2
我想看到它的總各等級的數量是(A,B,C,d)
School Name Course Grade Count
St. Joe School MATH 30 A 30
St. Joe School MATH 30 B 20
St. Joe School MATH 30 C 10
St. Joe School MATH 30 D 5
爲什麼甲骨文用戶傾向於使用舊隱加入? – Parfait
這是我想修改的一些舊代碼。我通常使用顯式連接;) – EvilEddie
通過',standardsgrades.averageScore'刪除組合並將count(*)改爲count(*)Over(由{你的case語句}分區)' – xQbert