我正在尝试查找“哪个讲师在 2017 年秋季参加的类(class)数量最多”。
我知道我必须使用其中的 max 函数,而且我还必须计算并比较哪个 instructor 具有最大值。但我不知道该怎么做。我已经写了部分查询是
SELECT DISTINCT firstname, lastname
FROM Faculty F
INNER JOIN CourseSection C ON F.FacID = C.FacID
Faculty
表的数据为
CourseSection
表是
最佳答案
你能试试这样的东西吗?
SQL 服务器:
SELECT TOP 1 F.firstname, F.lastname
FROM Faculty F
JOIN (
SELECT FACID, COUNT(*) CNT FROM CourseSection GROUP BY FACID
) C
ON F.FacID = C.FacID
ORDER BY C.CNT DESC
MySql:
SELECT F.firstname, F.lastname
FROM Faculty F
JOIN (
SELECT FACID, COUNT(*) CNT FROM CourseSection GROUP BY FACID
) C
ON F.FacID = C.FacID
ORDER BY C.CNT DESC
LIMIT 1
允许关系
这是一个 SQL Server 代码(使用公用表表达式),允许在出现联系时选择多个讲师:
; with t as (
select FacID, COUNT(*) CNT
from CourseSection
group by FacID
)
select F.FirstName, F.LastName, t.CNT from t join Faculty F on F.FacID = t.FacID
where cnt = (select max(cnt) from t)
;
关于sql-server - SQL求最大值然后判断哪个名字的值最大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43078486/