rubus0304 님의 블로그
[QCC 2회차] 본문
1. 스파르타(주)의 글로벌 확장을 준비 중인 팀은 신규 시장에 진출하기 위한 전략을 수립하고 있습니다. 국가 타게팅를 통해 잠재적 고객층을 확대하고자 합니다. 이에 따라, 대상이 되는 국가의 수를 먼저 정확히 파악하기 위해 데이터를 활용해 보고서를 작성하고 있습니다.
country 테이블을 기반으로, 전년도 국민총생산(GNP)이 없거나 전년 대비 GNP가 감소한 국가 중 인구가 1천만 명 이상인 국가의 수를 조회하는 쿼리를 작성하세요.
(내 코드)
#country 테이블을 기반으로, 전년도 국민총생산(GNP)이 없거나 전년 대비 GNP가 감소한 국가 중 인구가 1천만 명 이상인 국가의 수를 조회하는 쿼리
use world ; # world 테이블을 사용할 거니까!
select count(Code) country_count
from
(
SELECT cy.Code Code,
cy.population Population,
cy.GNP,
cy.GNPOld
from city ct join country cy on ct.CountryCode = cy.Code
where cy.GNPOld is NULL or cy.GNP < cy.GNPOld ) a
where Population >= 10000000
정답
SELECT count(distinct code)
from country
where (GNPOld is NULL or GNP < GNPOld) and Population >= 10000000
34개... 컥 ㅋㅋㅋ (join이 필요가 없었다니) /// and가 먼저 되므로 or 끼리는 먼저 괄호 묶어서 같이 해줘야함.!!
2. 스파르타(주) 마케팅 팀은 지역별 시장 특성을 분석하기 위해 각 대륙에서 인구가 가장 많은 도시를 조사하고자 합니다. 이를 통해 각 대륙의 주요 도시를 타겟으로 한 마케팅 전략을 수립하려고 합니다. city 테이블과 country 테이블을 사용하여 각 대륙에서 인구가 가장 많은 도시를 찾아, 해당 도시와 국가, 그리고 대륙의 정보를 조회하세요. 결과는 인구를 기준으로 내림차순 정렬해야 합니다.
(내 코드) 윈도우함수 안 쓰고 하는 방법 ( city population만 썼으면!)
#각 대륙에서 인구가 가장 많은 도시
#해당 도시와 국가, 그리고 대륙의 정보를 조회
#인구를 기준으로 내림차순 정렬
SELECT ct.Name CityName,
cy.Code CountryName,
cy.Continent Continent,
max(cy.Population) Population
from city ct join country cy on ct.CountryCode = cy.Code
group by continent
order by Population desc
** 윽.. 각 도시별 인구니까 ct.Population 임!! ㅠㅠ 인구가 가장 많은 도시 +_+!!! 질문이랑 각 테이블별 컬럼 더 잘 확인하자!
(정답) 윈도우 함수 활용!
cityname (도시 이름), countryname (국가 이름, continent (대륙이름), Population (인구수) - 도시꺼 가져와야함.
rank ( ) over (partition by co.Continent order by populaion desc ) rank 그룹 안에서 구하려면!
select cityname, countryname, continent, population
from
(
select ct.name cityname,
cy.name countryname,
cy.continent,
ct.population,
rank() over (partition by cy.continent order by ct.population desc) rnk
from country cy join city ct on cy.code = ct.countrycode
) a
where rnk = 1
order by population desc
** row_number ( ) over (partition by ~ order by ~ ) 참고!
'Data Analyst > daily' 카테고리의 다른 글
[코트카타 102] (0) | 2024.11.27 |
---|---|
[QCC 3회차] (0) | 2024.11.22 |
[데이터분석] 코드카타 101 (0) | 2024.11.14 |
[데이터분석] 코드카타 100 (0) | 2024.11.12 |
[데이터분석] 코드카타 99 (0) | 2024.11.11 |