| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- 아마존
- kaggle
- 코딩테스트
- 데이터사이언스
- 데이터 전처리
- 데이터전처리
- SQL
- 파이썬
- dataframe
- 데이터분석
- 데이터구조
- 코테
- 시각화
- 머신러닝
- 캐글
- 데이터과학
- Data Analysis
- numpy
- 프로그래머스
- Python
- pandas
- 불리언
- code
- machinelearning
- EDA
- 연산자
- mysql
- get_dummies
- 전처리
- data science
- Today
- Total
Road to Data Scientist
[프로그래머스] 노선 별 평균 역사이 거리 조회하기 Lv.2 본문
노선 별 평균 역사이 거리 조회하기
SUBWAY_DISTANCE 테이블

문제
SUBWAY_DISTANCE 테이블에서 노선별로 노선, 총 누계 거리, 평균 역 사이 거리를 노선별로 조회하는 SQL문을 작성해주세요. 총 누계거리는 테이블 내 존재하는 역들의 역 사이 거리의 총 합을 뜻합니다. 총 누계 거리와 평균 역 사이 거리의 컬럼명은 각각 TOTAL_DISTANCE, AVERAGE_DISTANCE로 해주시고, 총 누계거리는 소수 둘째자리에서, 평균 역 사이 거리는 소수 셋째 자리에서 반올림 한 뒤 단위(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
설명
1. 노선별 노선, 총 누계 거리, 평균 역 사이 거리를 구해야 하므로
1.1 ROUTE (노선), SUM(D_BETWEEN_DIST), AVG(D_BETWEEN_DIST) 을 select
1.2 총 누계 거리 : 소수 둘째에서 반올림 및 예시 정답과 같게 km 표시
1.2.1 CONCAT(ROUND(SUM(D_BETWEEN_DIST), 1), 'km') AS TOTAL_DISTANCE
1.3 평균 역 사이 거리 : 소수 셋째에서 반올림 및 예시 정답과 같게 km 표시
1.3.1 CONCAT(ROUND(AVG(D_BETWEEN_DIST), 2), 'km') AS AVERAGE_DISTANCE
2. FROM SUBWAY_DISTANCE 테이블에서
3. 노선으로 그룹화 해야 SELECT 에서 연산 (SUM, AVG) 가능 : GROUP BY ROUTE
4. 총 누계 거리 기준으로 내림차순 : ORDER BY SUM(D_BETWEEN_DIST) DESC
출처
https://school.programmers.co.kr/learn/courses/30/lessons/284531
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
'코딩 테스트 > SQL' 카테고리의 다른 글
| [프로그래머스] 조건별로 분류하여 주문상태 출력하기 Lv.3 (0) | 2025.11.14 |
|---|---|
| [프로그래머스] 카테고리 별 도서 판매량 집계하기 Lv.3 (0) | 2025.11.02 |
| [프로그래머스] 부모의 형질을 모두 가지는 대장균 찾기 Lv.2 (0) | 2025.02.16 |
| [프로그래머스] 연도별 대장균 크기의 편차 구하기 Lv.2 (0) | 2025.01.29 |
| [프로그래머스] 조건에 맞는 개발자 찾기 Lv.2 (0) | 2025.01.19 |