320x100
# SQL GROUP BY 문제
문제1. 도시 목록에서 지역별 인구수를 구하라.
SELECT SUM(popu) AS 인구수, region AS 지역명
FROM tcity
GROUP BY region
ORDER BY 인구수 DESC;
문제2. 각 지역에서 가장 넓은 면적을 구하되 단 인구가 50만 이상인 도시만 대상으로 한다
# 내코드
SELECT name AS 도시이름, region AS 지역, area AS 면적, popu AS 인구수
FROM tcity
WHERE popu >= 50
GROUP BY region;
실패
# 답안코드
SELECT region, MAX(area)
FROM tcity
WHERE popu > 50
GROUP BY region;
음... 내가 너무 복잡하게 생각했나보다.
한편으로는 내가 표현하고 싶었던 것을 구현 할 수 있을때까지
이해해야겠다.
문제3. 각 지역별 평균 면적을 구하되 평균 면적이 1000 이상인 지역만 출력하라
SELECT region AS 지역, AVG(area) AS 평균면적
FROM tcity
GROUP BY region
HAVING AVG(area) >= 1000;
이상하게 이건 WHERE가 먹질 않는다. 이유는 모르겠다.
300x250
'개발일지 > SQL' 카테고리의 다른 글
ocacle 문제풀이9. INSERT (0) | 2022.09.12 |
---|---|
oracle developer 기초4. INSERT, INSERT SELECT, TRUNCATE(전체삭제) (0) | 2022.09.12 |
*매우중요 oracle developer 기초3. GROUP BY, WHERE, HAVING의 효율적 코드 (0) | 2022.09.09 |
oracle developer 문제풀이7. MAX, MIN (문법 보완 필요) (0) | 2022.09.09 |
oracle developer 문제풀이6. COUNT (0) | 2022.09.09 |