SQL 스터디/HackerRank

[해커랭크] MySQL 나머지 값 구하기(Mod) - Weather Observation Station3

황금붕어빵 2023. 9. 9. 14:31

 

Weather Observation Station 3 | HackerRank

Query a list of unique CITY names with even ID numbers.

www.hackerrank.com

 

해커랭크 SQL 문제 중 ID가 짝수인 모든 컬럼을 출력하는 문제입니다.

 

짝수 또는 홀수를 가진 ID 컬럼을 찾는 문제에서 유용하게 활용할 것으로 보입니다.

 

문제)
Query a list of CITY names from STATION for cities that have an even ID number. Print the results in any order, but exclude duplicates from the answer.

*출처 : HackerRank

 

ID 컬럼 중에서 짝수인 ID를 찾아야 하므로 각 ID 값을 2로 나누었을 때 나머지가 0이 되면 짝수가 됩니다.

 

SQL에서 mod 함수를 활용하여 나머지 값을 구할 수 있습니다.

n값을 m으로 나누었을 때의 나머지 값을 출력합니다.

select mod(n, m) ;

select mod(4, 2) ;
-> 0

 

mod 함수를 활용해서 아래와 같이 쿼리를 출력할 수 있습니다.

select distinct city
from station
where mod(id, 2) = 0

 

만약 홀수 값을 가진 ID를 구할 때는 2로 나누었을 때 나머지 값이 1일 때 홀수로 정의할 수 있습니다.