본문 바로가기

코딩일기

SQL 코드카타 102 - Classes More Than 5 Students

https://leetcode.com/problems/classes-more-than-5-students/description/

 

Column Name Type
student varchar
class varchar

Courses 테이블:

  • student (varchar): 학생
  • class (varchar): 수업

모든 학생 수가 최소 다섯 명인 수업을 찾는 솔루션을 작성하세요.

결과 테이블의 순서는 상관없습니다.

 

먼저 클래스별 학생의 숫자를 센다.

select
    class,
    count(class) count_class
from Courses
group by class
class count_class
Math 6
English 1
Biology 1
Computer 1

 

해당 쿼리를 메인테이블과 class를 기준으로 join하고 count_class가 5이상인 과목만 출력한다.

 

select C.class
from Courses C join
(
select
    class,
    count(class) count_class
from Courses
group by class
) count_class on C.class = count_class.class
where count_class.count_class >= 5
group by C.class

작성완료!