我要执行以下操作: 创建一个过程,该过程返回具有最多注册量的section_id值。可以通过计算该表中student_id的数量来计算。
示例:
SELECT count(student_id) amount
FROM enrollments
WHERE section_id=20;
这将返回第20部分的注册人数。
但是我希望它返回注册人数最多的部分的金额。但是我不知道如何解决这个问题?正如我提到的,我使用PLSQL,因此所有这些功能都可以在这里使用
答案 0 :(得分:1)
您可以尝试以下方法:
SELECT section_id, count(student_id) as StudentCount
FROM enrollments a
group by section_id
having count(student_id) = (SELECT max(count(student_id))
FROM enrollments a
group by section_id);
SQL小提琴:http://sqlfiddle.com/#!4/24f7c/1
以下是有关如何使用keep和解决同一查询的有趣链接:
答案 1 :(得分:-1)
请尝试以下操作:
SELECT section_id, count(student_id) amount
FROM enrollments
GROUP BY section_id
答案 2 :(得分:-1)
您可以尝试以下方法:
SELECT count(student_id) amount FROM enrollments
group by section_id
Order by amount desc
limit 1