코딩테스트/SQL
[프로그래머스][MySQL] Lv. 2 노선별 평균 역 사이 거리 조회하기
_알파카
2024. 8. 20. 17:31
728x90
문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/284531
내 풀이
SELECT ROUTE
, CONCAT(ROUND(SUM(D_BETWEEN_DIST), 1), 'km') AS TOTAL_DISTANCE
, CONCAT(ROUND(SUM(D_BETWEEN_DIST) / COUNT(*), 2), 'km') AS AVERAGE_DISTANCE
FROM SUBWAY_DISTANCE
GROUP BY ROUTE
ORDER BY SUM(D_BETWEEN_DIST) DESC;
사실 처음에는 오답이 나서 대체 어디서 틀렸는지 한참을 찾았다ㅠㅠ
알고보니 round 함수에서 각각 소수 둘째자리, 소수 셋째 자리까지 나타내는 것으로 착각해서 틀렸던 것이였다^^
아무튼, round 함수로 문제에서 주어진대로 반올림을 하고,
concat 함수를 사용해서 'km'를 붙여주면 된다.
문자열 합치기 함수 - concat
MySQL에도 파이썬과 동일한 문자열 합치기 함수 concat이 존재한다.
CONCAT(문자(데이터), 문자(데이터), ...) AS '칼럼명'
SELECT CONCAT(NAME, '는', CLASS, '반이고', POINT, '점이다')
-- 영희는 A반이고 95점이다
위와 같이 원하는 데이터와 원하는 문자열을 함께 작성해주면,
원하는 형식으로 새로운 문자열을 출력할 수 있다!
728x90