[SQL] 연습

[MySQL] 프로그래머스 노선별 평균 역 사이 거리 조회하기

Simon Yoon 2025. 2. 16. 22:44

문제:

SUBWAY_DISTANCE 테이블에서 노선별로 노선, 총 누계 거리, 평균 역 사이 거리를 노선별로 조회

- 총 누계거리는 테이블 내 존재하는 역들의 역 사이 거리의 총 합을 의미
- 총 누계거리는 소수 둘째자리에서, 평균 역 사이 거리는 소수 셋째 자리에서 반올림 한 뒤 단위(km)를 함께 출력
- 총 누계 거리를 기준으로 내림차순 정렬

 

해결방법:

1. 총 누계 거리와 평균 역 사이의 거리는 SUM, AVG 를 GROUP BY 와 함께 사용

2. CONCAT, ROUND 로 형식 맞추기

3. ORDER BY 조건 설정에 주의

 

예시 코드:

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
;