문제. leetcode database 180. Consecutive Numbers
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을 통해서임을 까먹어서는 안됩니다.
기초적인 문제이지만, 개념을 숙지하지 않는다면 헤맬 수 있는 문제였습니다.
반응형
'Tests > Leetcode' 카테고리의 다른 글
[리트코드] 601.Human Traffic of Stadium (MySQL) (0) | 2021.05.27 |
---|---|
[리트코드] 197. Rising Temperature (MySQL) (0) | 2021.05.27 |
[leetcode] MySQL > 180. Consecutive Numbers (0) | 2020.09.14 |
[leetcode] MySQL > 183. Customers Who Never Order (0) | 2020.09.12 |
[leetcode] MySQL > 185. Department Top Three Salaries (0) | 2020.09.11 |
댓글