SUBWAY_DISTANCE 테이블에서 노선별로 노선, 총 누계 거리, 평균 역 사이 거리를 노선별로 조회하는 SQL문을 작성해주세요.
총 누계거리는 테이블 내 존재하는 역들의 역 사이 거리의 총 합을 뜻합니다. 총 누계 거리와 평균 역 사이 거리의 컬럼명은 각각 TOTAL_DISTANCE, AVERAGE_DISTANCE로 해주시고, 총 누계거리는 소수 둘째자리에서, 평균 역 사이 거리는 소수 셋째 자리에서 반올림 한 뒤 단위(km)를 함께 출력해주세요.
결과는 총 누계 거리를 기준으로 내림차순 정렬해주세요.
https://school.programmers.co.kr/learn/courses/30/lessons/284531
SELECT
ROUTE,
CONCAT(ROUND(SUM(D_BETWEEN_DIST), 1), 'km') TOTAL_DISTANCE,
CONCAT(ROUND(AVG(D_BETWEEN_DIST), 2), 'km') AVERAGE_DISTANCE
FROM SUBWAY_DISTANCE
GROUP BY ROUTE
ORDER BY SUM(D_BETWEEN_DIST) DESC
아이템의 희귀도가 'RARE'인 아이템들의 모든 다음 업그레이드 아이템의 아이템 ID(ITEM_ID), 아이템 명(ITEM_NAME), 아이템의 희귀도(RARITY)를 출력하는 SQL 문을 작성해 주세요. 이때 결과는 아이템 ID를 기준으로 내림차순 정렬주세요.
https://school.programmers.co.kr/learn/courses/30/lessons/273711
-- 희귀도 RARE 아이템 ID
WITH id AS(
SELECT *
FROM ITEM_INFO
WHERE RARITY = 'RARE'
),
rare_id AS(
SELECT it.ITEM_ID
FROM id i
LEFT JOIN ITEM_TREE it
ON i.ITEM_ID = it.PARENT_ITEM_ID
)
SELECT ii.ITEM_ID, ITEM_NAME, RARITY
FROM rare_id ri
INNER JOIN ITEM_INFO ii
ON ri.ITEM_ID = ii.ITEM_ID
ORDER BY ii.ITEM_ID DESC
# RARE에서 업그레이드 가능 아이템 ID 추출
WITH id AS(
SELECT it.ITEM_ID
FROM ITEM_INFO ii
INNER JOIN ITEM_TREE it
ON ii.ITEM_ID = it.PARENT_ITEM_ID
WHERE RARITY = 'RARE'
)
SELECT ii.ITEM_ID, ITEM_NAME, RARITY
FROM id
INNER JOIN ITEM_INFO ii
ON id.ITEM_ID = ii.ITEM_ID
ORDER BY ii.ITEM_ID DESC