无法嵌套聚合器,sql server

无法嵌套聚合器,sql server,sql,sql-server,Sql,Sql Server,我将这些元组组合在一个关于讲师和课程的关系中,在这个关系中,如果老师可以教授课程,他们就在一个元组中。我想选择能够教授与列表中能够教授最多课程的讲师数量相同的讲师 例如,如果史密斯先生能在关系中的所有教师中教授最多的课程,我想选择史密斯先生和其他任何能教授相同数量课程的人 我真正想做的是这样的事情: 选择InstructorNo,将(InstCourses.CourseNo)计数为NoTeachableCourses 从…起 ... 按讲师分组 拥有计数(instcurses.CourseNo

我将这些元组组合在一个关于讲师和课程的关系中,在这个关系中,如果老师可以教授课程,他们就在一个元组中。我想选择能够教授与列表中能够教授最多课程的讲师数量相同的讲师

例如,如果史密斯先生能在关系中的所有教师中教授最多的课程,我想选择史密斯先生和其他任何能教授相同数量课程的人

我真正想做的是这样的事情:


选择InstructorNo,将(InstCourses.CourseNo)计数为NoTeachableCourses
从…起
...
按讲师分组
拥有计数(instcurses.CourseNo)=最大值(计数(instcurses.CourseNo))


但这是非法的,因为嵌套聚合
MAX(计数…
。如果不能嵌套聚合器,如何获得此功能?我不确定在给定查询中需要选择多少教师,因此我不确定
TOP
TOP WITH TIES
是否有效。

使用
TOP
TOP WITH TIES

select top(1) with ties InstructorNo, COUNT(InstCourses.CourseNo) as NoTeachableCourses
from
...
group by InstructorNo
order by NoTeachableCourses desc;

使用
TOP
或带领带的
TOP

select top(1) with ties InstructorNo, COUNT(InstCourses.CourseNo) as NoTeachableCourses
from
...
group by InstructorNo
order by NoTeachableCourses desc;

使用
TOP
或带领带的
TOP

select top(1) with ties InstructorNo, COUNT(InstCourses.CourseNo) as NoTeachableCourses
from
...
group by InstructorNo
order by NoTeachableCourses desc;

使用
TOP
或带领带的
TOP

select top(1) with ties InstructorNo, COUNT(InstCourses.CourseNo) as NoTeachableCourses
from
...
group by InstructorNo
order by NoTeachableCourses desc;

似乎我需要在
TOP
TOP WITH TIES
之后指定一个整数。有办法吗?我不确定在任何一个查询中需要选择多少名教师。要清楚,我需要选择所有能够教授与顶级教师相同数量课程的教师can@Adam,似乎
顶部有TIES 1
是您在这里需要的。
1
在本查询中将
与TIES一起使用时是正确的数字。似乎我需要在
TOP
TOP与TIES
之后指定一个整数。有没有办法解决这个问题?我不确定在任何一个查询中需要选择多少教师要清楚,我需要选择所有的inst能够教授与顶级讲师相同数量课程的讲师can@Adam,似乎您在这里需要的是
TOP WITH TIES 1
1
在这个查询中与TIES一起使用时是正确的数字。似乎我需要在
TOP
TOP WITH TIES
之后指定一个整数。有办法解决这个问题吗t?我不确定在任何一个问题中我需要选择多少名教师。要清楚,我需要选择所有能够教授与顶级教师相同数量课程的教师can@Adam,似乎您在此需要的是
TOP WITH TIES 1
1
在本查询中与TIES一起使用时是正确的数字。seem这就像我需要在
TOP
TOP与TIES
之后指定一个整数。有办法解决吗?我不确定在任何一个查询中需要选择多少名教师。要清楚,我需要选择所有能够教授与顶级教师相同数量课程的教师can@Adam,似乎
顶部有领带1
是您在这里需要的。
1
在本查询中与领带一起使用时是正确的编号。