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

2024. 3. 19. 08:27Coding Test/MySQL

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

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 TOTAL_DISTANCE DESC ;

 

"소수 둘째자리에서 반올림" 이기 때문에 ROUND()에 소수 첫째자리까지 나오도록 1을 넣는다.

ORDER BY TOTAL_DISTANCE라고 하면 CONCAT()으로 인해 TOTAL_DISTANCE는 문자이기 때문에 제대로 정렬이 되지 않는다!

 

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 ;