개발은 처음이라 개발새발

[해커랭크] MySQL 집계함수 문제 풀이 본문

mysql

[해커랭크] MySQL 집계함수 문제 풀이

leon_choi 2023. 4. 22. 22:13
반응형

집계함수와 관련해 몇가지 문제를 풀어보고자 합니다. 이번에 SQL을 공부하면서 문제를 풀어볼 수 있는 사이트를 알게 됐는데요. 바로 해커랭크입니다. 

 

https://www.hackerrank.com/challenges/challenges/problem

 

Challenges | HackerRank

Print the total number of challenges created by hackers.

www.hackerrank.com

 

EX) 평균 퀴즈

링크 - https://www.hackerrank.com/challenges/revising-aggregations-the-average-function/problem?h_r=internal-search 

예를 들어서 이런 문제들이 있는데요. 문제를 읽어보니 city라는 테이블에서 인구의 평균을 구하고 싶은데 조건이 있습니다. district가 california인 경우만 알고 싶다고 하네요. 쿼리는 간단합니다. 

SELECT AVG(population)
FROM city
WHERE district = 'California';

 

간단한 문제들이니 만큼 손푼다 생각하고 풀기 좋은 문제들인데요. 1%정도 생각이 더 필요한 문제를 소개해보겠습니다. 

https://www.hackerrank.com/challenges/weather-observation-station-4/problem?h_r=internal-search 

 

Weather Observation Station 4 | HackerRank

Find the number of duplicate CITY names in STATION.

www.hackerrank.com

바로 요 문제인데요. 영어고 길고 해서 당황스러운데 요점은 city라는 컬럼이 있는데 city라는 컬럼의 총 개수와 그리고 중복되지 않은 city의 개수를 빼라는 이야기입니다. 여기 포인트는 중복되지 않은 city의 개수를 구하는 것인데요. 중복을 제거할 때는 DISTINCT()함수를 써야 합니다. 

SELECT COUNT(city)-COUNT(DISTINCT(city))
FROM station

이렇게 해커랭크라는 사이트를 소개해봤는데요. 쉬운단계부터 차근차근 문제를 풀 수 있는 사이트니 참고하면 좋을 거 같습니다.

반응형