学生数に対して適切な値を取得するのに問題があります。カーソルを使用する必要があり、プログラムの出力は次のようになります...少し混乱しているので、ここからどこへ行くべきか正しい方向に導かれるようにしています。ありがとう!
Class Name Number of Students
=================================
Biology 6
Calc 3
German 5
これが私の現在のコードです:
DECLARE
CURSOR c_1 IS
SELECT c.class_name, AVG(s.grade)
FROM class c, student s
WHERE c.class_id = s.class_id
GROUP BY class_name
ORDER BY class_name;
grade_rec c_1%ROWTYPE;
BEGIN
DBMS_OUTPUT.PUT_LINE(('Class Name') || ' ' || ('NUMBER OF Students'));
DBMS_OUTPUT.PUT_LINE('--------------------------------------');
FOR grade_rec IN c_1 LOOP
DBMS_OUTPUT.PUT_LINE(rpad(grade_rec.class_name, 15) ||
' ' || lpad(grade_rec.avg_grade, 10));
END LOOP;
END;