코테/프로그래머스

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

zsunny 2024. 11. 3. 00:03

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

 

프로그래머스

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

programmers.co.kr

 

단위(km) 함께 출력 => CONCAT( _____ , 'km')

소수 둘째자리에서 반올림(소수 첫째자리까지 출력) => ROUND( _____ , 1)

***** 마지막에 ORDER BY 2 로 해서 틀렸는데, 이 문제처럼 SELECT시 CONCAT을 해서 문자열이 된 경우

이 컬럼을 바로 정렬에 사용하면 안된다. '100km' 보다 '20km'이 더 크게 정렬될 수 있기에!!!

잘 보고 정렬해주자!!!!!! *****

 

-- 코드를 작성해주세요
-- 노선, 총 누계 거리, 평균 역 사이 거리를 노선별로 조회
-- 총 누계거리는 테이블 내 존재하는 역들의 역 사이 거리의 총 합
-- 총 누계거리는 소수 둘째자리, 평균 역 사이 거리는 소수 셋째 자리 반올림, 단위(km)를 함께 출력
-- 총 누계 거리를 기준으로 내림차순

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;