PRODUCT 테이블에서 만원 단위의 가격대 별로 상품 개수를 출력하는 SQL 문을 작성해주세요. 이때 컬럼명은 각각 컬럼명은 PRICE_GROUP, PRODUCTS로 지정해주시고 가격대 정보는 각 구간의 최소금액(10,000원 이상 ~ 20,000 미만인 구간인 경우 10,000)으로 표시해주세요. 결과는 가격대를 기준으로 오름차순 정렬해주세요.
https://school.programmers.co.kr/learn/courses/30/lessons/131530
## price 매핑 후 그룹화해서 카운트
WITH pro AS (
SELECT
CASE
WHEN PRICE < 10000 THEN '0'
WHEN (PRICE >= 10000) AND (PRICE < 20000) THEN '10000'
WHEN (PRICE >= 20000) AND (PRICE < 30000) THEN '20000'
WHEN (PRICE >= 30000) AND (PRICE < 40000) THEN '30000'
WHEN (PRICE >= 40000) AND (PRICE < 50000) THEN '40000'
WHEN (PRICE >= 50000) AND (PRICE < 60000) THEN '50000'
WHEN (PRICE >= 60000) AND (PRICE < 70000) THEN '60000'
WHEN (PRICE >= 70000) AND (PRICE < 80000) THEN '70000'
ELSE '80000'
END 'PRICE_GROUP'
FROM PRODUCT
GROUP BY PRICE
ORDER BY PRICE
)
SELECT PRICE_GROUP, COUNT(PRICE_GROUP) PRODUCTS
FROM pro
GROUP BY PRICE_GROUP
## price 매핑 후 그룹화해서 카운트
WITH pro AS (
SELECT
CASE
WHEN (PRICE >= 10000) AND (PRICE < 20000) THEN '10000'
WHEN (PRICE >= 20000) AND (PRICE < 30000) THEN '20000'
WHEN (PRICE >= 30000) AND (PRICE < 40000) THEN '30000'
WHEN (PRICE >= 40000) AND (PRICE < 50000) THEN '40000'
WHEN (PRICE >= 50000) AND (PRICE < 60000) THEN '50000'
WHEN (PRICE >= 60000) AND (PRICE < 70000) THEN '60000'
WHEN (PRICE >= 70000) AND (PRICE < 80000) THEN '70000'
ELSE '80000'
END 'PRICE_GROUP'
FROM PRODUCT
GROUP BY PRICE
)
SELECT PRICE_GROUP, COUNT(PRICE_GROUP) PRODUCTS
FROM pro
GROUP BY PRICE_GROUP
ORDER BY PRICE_GROUP
## price 매핑 후 그룹화해서 카운트
WITH pro AS (
SELECT
CASE
WHEN (PRICE >= 10000) AND (PRICE < 20000) THEN '10000'
WHEN (PRICE >= 20000) AND (PRICE < 30000) THEN '20000'
WHEN (PRICE >= 30000) AND (PRICE < 40000) THEN '30000'
WHEN (PRICE >= 40000) AND (PRICE < 50000) THEN '40000'
WHEN (PRICE >= 50000) AND (PRICE < 60000) THEN '50000'
WHEN (PRICE >= 60000) AND (PRICE < 70000) THEN '60000'
WHEN (PRICE >= 70000) AND (PRICE < 80000) THEN '70000'
ELSE '80000'
END 'PRICE_GROUP'
FROM PRODUCT
)
SELECT PRICE_GROUP, COUNT(PRICE_GROUP) PRODUCTS
FROM pro
GROUP BY PRICE_GROUP
ORDER BY PRICE_GROUP
SELECT
(PRICE DIV 10000) * 10000 PRICE_GROUP,
COUNT(*) PRODUCTS
FROM PRODUCT
GROUP BY PRICE_GROUP
ORDER BY PRICE_GROUP
FISH_NAME_INFO에서 물고기의 종류 별 물고기의 이름과 잡은 수를 출력하는 SQL문을 작성해주세요.
물고기의 이름 컬럼명은 FISH_NAME, 잡은 수 컬럼명은 FISH_COUNT로 해주세요.
결과는 잡은 수 기준으로 내림차순 정렬해주세요.
https://school.programmers.co.kr/learn/courses/30/lessons/293257
SELECT
COUNT(fi.FISH_TYPE) FISH_COUNT,
fn.FISH_NAME
FROM FISH_INFO fi
INNER JOIN
FISH_NAME_INFO fn
ON
fi.FISH_TYPE = fn.FISH_TYPE
GROUP BY
fi.FISH_TYPE, fn.FISH_NAME
ORDER BY
FISH_COUNT DESC
AIR_POLLUTION 테이블에서 수원 지역의 연도 별 평균 미세먼지 오염도와 평균 초미세먼지 오염도를 조회하는 SQL문을 작성해주세요. 이때, 평균 미세먼지 오염도와 평균 초미세먼지 오염도의 컬럼명은 각각 PM10, PM2.5로 해 주시고, 값은 소수 셋째 자리에서 반올림해주세요.
결과는 연도를 기준으로 오름차순 정렬해주세요.
https://school.programmers.co.kr/learn/courses/30/lessons/284530
SELECT
YEAR(YM) 'YEAR',
ROUND((SUM(PM_VAL1) / COUNT(*)), 3) 'PM10', -- 평균 미세먼지 오염도
ROUND((SUM(PM_VAL2) / COUNT(*)), 3) 'PM2.5' -- 평균 초미세먼지 오염도
FROM AIR_POLLUTION
WHERE LOCATION2 = '수원' -- 수원 지역
GROUP BY YEAR
ORDER BY YEAR
SELECT
YEAR(YM) 'YEAR',
ROUND(AVG(PM_VAL1), 2) 'PM10', -- 평균 미세먼지 오염도
ROUND(AVG(PM_VAL2), 2) 'PM2.5' -- 평균 초미세먼지 오염도
FROM AIR_POLLUTION
WHERE LOCATION2 = '수원' -- 수원 지역
GROUP BY YEAR
ORDER BY YEAR