데이터분석 과정/SQL
MySQL 리트코드 | Not Boring Movies (%, MOD함수)
ANNASENA
2025. 3. 28. 08:00
728x90
문제
https://leetcode.com/problems/not-boring-movies/description/?envType=study-plan-v2&envId=top-sql-50
- id가 홀수인 유저들 중 description에 'boring'이 없는 행 조회
- id, movie, description, rating 조회하기
- rating 기준 내림차순 정렬
테이블
Cinema | id | movie | description | rating |
1 | War | great 3D | 8.9 | |
2 | Science | fiction | 8.5 | |
3 | irish | boring | 6.2 | |
4 | Ice song | Fantasy | 8.6 | |
5 | House card | Interesting | 9.1 |
- id가 홀수인 경우는 1, 3, 5
- 1, 3, 5 유저 중 본 영화의 description에 'boring'이 없는 행 조회하기
풀이과정
▶ % 사용 정답
# id가 홀수인 유저 가려내기
- WHERE절에 id % 2 = 1인 유저만 조회되도록 조건 적음.
- %는 나눗셈의 나머지를 나타냄.
- id를 2로 나눴을 때 나머지가 1인 경우만 조회되도록 함.
# 'boring' 하지 않은 영화 골라내기
- NOT LIKE문을 활용함.
# 정답
- 정렬 조건인 rating 내림차순 적용
1
2
3
4
|
SELECT c.id, c.movie, c.description, c.rating
FROM Cinema c
WHERE c.id % 2 = 1 AND c.description NOT LIKE '%boring%'
ORDER BY c.rating DESC
|
cs |
다른 사람 풀이 참고
▶ MOD( ) 사용 정답
# id가 홀수인 유저 가려내기
- WHERE절에 MOD(n, m) 함수 사용함.
- MOD(n, m)은 n을 m으로 나눈 것의 나머지를 나타냄.
- id를 2로 나눴을 때 나머지가 1인 경우만 조회되도록 함.
# 'boring' 하지 않은 영화 골라내기
- != 를 활용함.
# 정답
- 정렬 조건인 rating 내림차순 적용
1
2
3
4
5
6
|
SELECT *
FROM Cinema
WHERE
MOD(id, 2) = 1
AND description != 'boring'
ORDER BY rating DESC;
|
cs |
728x90