데이터분석 과정/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