은 학생 수가 가장 적은학과의 이름을 표시하려고했습니다. 테이블 구조가 ERROR가 "그룹 함수가 너무 깊이 중첩되어 있습니다"?
SELECT department_name
FROM department natural join student
GROUP BY department_name
HAVING MIN(COUNT(*));
처럼 =>
은 학생 수가 가장 적은학과의 이름을 표시하려고했습니다. 테이블 구조가 ERROR가 "그룹 함수가 너무 깊이 중첩되어 있습니다"?
SELECT department_name
FROM department natural join student
GROUP BY department_name
HAVING MIN(COUNT(*));
처럼 =>
이 같은 것을보십시오 :
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
을 통해 첫 번째 행만 선택하면 학생 수가 가장 적은 부서 만 받게됩니다.
은 department_name을 표시해야하며 동일한 최소값을 갖는 여러 행을 가질 수 있습니다. –
TOP는 MySQL 구문이 아닌 MSSQL 구문이므로 답변이 잘못되었습니다. –
이렇게하면 어떨까요?
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
)
귀하의 질문은 무의미하다. https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql- 대신 – Strawberry