【发布时间】:2017-10-19 01:46:08
【问题描述】:
试图显示学生人数最少的部门的名称。
【问题讨论】:
-
您的查询是无意义的。所以请参阅meta.stackoverflow.com/questions/333952/…
试图显示学生人数最少的部门的名称。
【问题讨论】:
试试这样的:
SELECT TOP 1 department_name, count(*) AS number_of_students
FROM department natural join student
GROUP BY department_name
ORDER BY number_of_students
它将为您提供按学生人数排序的部门列表。通过TOP 1 仅选择第一行,您只会获得学生人数最少的部门。
【讨论】:
是这样的吗?
SELECT
T1.department_name, COUNT(T2.department_id) totalCount
FROM department T1
LEFT JOIN student T2
ON T1.department_id = T2.department_id
GROUP BY T2.department_id
HAVING COUNT(T2.department_id) =
(
SELECT
COUNT(T2.department_id) totalCount
FROM department T1
LEFT JOIN student T2
ON T1.department_id = T2.department_id
GROUP BY T2.department_id
ORDER BY totalCount ASC
LIMIT 1
)
【讨论】: