소스파일 : https://github.com/bjpublic/postgresql
1
전국의 인구수 총합을 연도별로 표시
# 정답. + || '명' 해주면 인구수 뒤에 "명"도 붙는다
select 년도, sum(총인구수) || '명' as 총인구수 from population_by_year group by 1 order by 1;
년도 | 총인구수
------+------------
2010 | 50515666명
2011 | 50734284명
2012 | 50948272명
2013 | 51141463명
2014 | 51327916명
2015 | 51529338명
2016 | 51696216명
2017 | 51778544명
2018 | 51826059명
2019 | 51849861명
2
최근 5년간 전국의 한 세대당 평균 인구수(총인구수/세대수)출력. 매 연도마다 세대당 평균 인구수 가중치는 같음
# 정답
# select 년도, avg(총인구수::numeric/세대수) as "세대별 인구수" from population_by_year where 년도>2014 group by 1 order by 1;
년도 | 세대별 인구수
------+--------------------
2015 | 2.4456321202059078
2016 | 2.4196701402941569
2017 | 2.3849263931716050
2018 | 2.3436203352533591
2019 | 2.2981488312100463
3
최근 5년간 (남자 인구수)/(여자 인구수) 성비의 평균을 행정구역별로 출력하고 가장 높은 지역이 어디인지 알아낼것.
매 연도마다 성비 가중치는 같음
# 정답
select 행정구역, avg(남자_인구수::numeric/여자_인구수) as "성비" from population_by_year where 년도>2014 group by 1 order by 2 desc;
행정구역 | 성비
----------------+------------------------
울산광역시 | 1.05977047783121976000
충청남도 | 1.03427558906899788000
충청북도 | 1.02127341912271558000
강원도 | 1.01434844240696254000
경상남도 | 1.01369143389882504000
경기도 | 1.01205668533611966000
제주특별자치도 | 1.01135061335215862035
경상북도 | 1.01116557696834506000
인천광역시 | 1.00727961919094530000
전라남도 | 1.00180900587675544213
대전광역시 | 0.99939720383085908403
세종특별자치시 | 0.99858973843256411581
전라북도 | 0.98925461807741880469
대구광역시 | 0.98397313281769696024
광주광역시 | 0.98154841112622849929
부산광역시 | 0.97028079436224536012
서울특별시 | 0.96046319789255070329
'SQL' 카테고리의 다른 글
SQL 집계함수 (0) | 2025.01.23 |
---|---|
SQL 명령어 우선순위 (0) | 2025.01.23 |
SQL GROUP BY, HAVING (0) | 2025.01.23 |
SQL 4장 실습문제 (0) | 2025.01.20 |
SQL DISTINCT (0) | 2025.01.20 |