不是GROUP BY Expression,而是为什么?

Ken*_*eed 1 sql oracle

我完全混淆为什么这段代码不是GROUP BY表达式:

SELECT Section_ID, COUNT(Student_ID) 
FROM Enrollment
WHERE Enroll_Date = TO_DATE('22-FEB-2007', 'DD-MON-YYYY')
GROUP BY Section_ID
ORDER BY Section_ID DESC, Student_ID;
Run Code Online (Sandbox Code Playgroud)

我知道它与COUNT函数有关,但我无法弄清楚为什么.即使我将COUNT(Student_ID)添加到GROUP BY,我也会得到一个不同的错误,即此处不允许使用组功能.我究竟做错了什么?

Use*_*ady 5

学生现在不是结果的一部分,所以你不能按顺序排序.您可以按计数值排序.

另请注意.通过对section_id进行分组,每个行只有一个唯一的行,因此不需要按第二列排序.