MySQL 리트코드 | Not Boring Movies (%, MOD함수)

    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

    댓글