SQL/GROUP BY

[프로그래머스 SQL] Lv.2 - 노선별 평균 역 사이 거리 조회하기

이런개발 2025. 3. 25. 08:54

https://school.programmers.co.kr/learn/courses/30/lessons/284531

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

문제 풀이

  1. 노선(ROUTE)을 기준으로 그룹핑한다.
  2. 노선별 총 누계거리를 구한다. SUM 키워드로 총합을 구하고, ROUND 키워드로 반올림을 한 다음, CONCAT 키워드로 단위 'km'를 함께 조회한다.
  3. 노선별 평균 역 사이 거리를 구한다. AVG 키워드로 평균을 구하고, ROUND 키워드로 반올림을 한 다음, CONCAT 키워드로 단위 'km'를 함께 조회한다.
  4. 총 누계거리를 기준으로 내림차순 정렬한다.
SELECT 
    ROUTE, 
    CONCAT(ROUND(SUM(D_BETWEEN_DIST), 1), 'km') AS TOTAL_DISTANCE, 
    CONCAT(ROUND(AVG(D_BETWEEN_DIST), 2), 'km') AS AVERAGE_DISTANCE
FROM 
    SUBWAY_DISTANCE
GROUP BY 
    ROUTE
ORDER BY 
    SUM(D_BETWEEN_DIST) DESC;