본문 바로가기
Tests/Leetcode

[leetcode] MySQL > 596. Classes More Than 5 Students

by 코딩하는 금융인 2021. 2. 8.

문제. leetcode database 180. Consecutive Numbers


SQL Schema & Explanation

There is a table courses with columns: student and class

Please list out all classes which have more than or equal to 5 students.

For example, the table:

+---------+------------+
| student | class      |
+---------+------------+
| A       | Math       |
| B       | English    |
| C       | Math       |
| D       | Biology    |
| E       | Math       |
| F       | Computer   |
| G       | Math       |
| H       | Math       |
| I       | Math       |
+---------+------------+
Should output:

+---------+
| class   |
+---------+
| Math    |
+---------+
 

Note:
The students should not be counted duplicate in each course.

출처 : leetcode 596. Classes More Than 5 Students


나의 풀이

# Write your MySQL query statement below
SELECT class from courses group by class
having count(distinct student) >= 5

SQL에서 기초적인 내용에 속하는 문제입니다.

한 컬럼에서 조건에 부합하는 데이터의 개수가 일정 수 이상을 충족하는 데이터를 출력하는 것이 목적입니다.

너무 쉬운 문제이지만, 항상 count를 쓸 때는 group by와 distinct를 신경써주고 또 여기서 조건을 걸 때는 where가 아닌 having을 통해서임을 까먹어서는 안됩니다.

 

기초적인 문제이지만, 개념을 숙지하지 않는다면 헤맬 수 있는 문제였습니다.

반응형

댓글