노선별 평균 역 사이 거리 조회하기

ORDER BY, SQL 명령어의 논리적 실행 순서
Seo Jimin's avatar
Mar 10, 2026
노선별 평균 역 사이 거리 조회하기

문제 링크

개념

ORDER BY

문제에 적용하면…

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;
처음에 적었던 위의 답은 왜 틀렸을까?
TOTAL_DISTANCE는 CONCAT을 하여 String이기 때문에 문자로 정렬되며, 문자열 정렬은 사전순이다. 따라서 총 누계 거리를 기준으로 내림차순 하려면 ROUND(SUM(D_BETWEEN_DIST)로 ORDER BY 해야한다.

확장 개념

SQL 명령어의 논리적 실행 순서

1. FROM 2. ON 3. JOIN 4. WHERE 5. GROUP BY 6. HAVING 7. SELECT (프로젝션) 8. DISTINCT 9. ORDER BY 10. LIMIT

제출 답안

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 ROUND(SUM(D_BETWEEN_DIST), 1) DESC;
 
Share article

miniiya