일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 포맷 지정자
- 코딩테스트
- 알고리즘
- 백준
- 깃허브
- 가격이 제일 비싼 식품의 정보 출력하기
- OAuth 인증
- 27866
- HashMap
- Iterator
- 안드로이드 스튜디오
- homebrew
- Java
- 프로그램서
- 맥북
- MAC OS
- 해시
- M1
- github
- JDK
- Android Studio
- sort정렬
- SQL코딩테스트
- 자바
- 프로그래머스
- 핸드폰 가리기
- mysql
- 문자열 숫자 변환
- Eclipse
- 노선별 평균 역 사이 거리 조회하기
Archives
- Today
- Total
개발일지
[MySQL] CONCAT() / 노선별 평균 역 사이 거리 조회하기 본문
728x90
🔗 링크
📌 문제 설명
Table: SUBWAY_DISTANCE
- 노선별로 노선, 총 누계 거리, 평균 역 사이 거리를 조회
총 누계거리는 역들의 역 사이 거리의 총 합을 뜻함
총 누계거리의 컬럼명은 TOTAL_DISTANCE, 평균 역 사이 거리의 컬럼명은 AVERAGE_DISTANCE로 표기
총 누계거리는 소수 둘째자리에서, 평균 역 사이 거리는 소수 셋째 자리에서 반올림 한 뒤 단위(km)를 함께 출력
결과는 총 누계거리를 기준으로 내림차순 정렬
💻 코드
SELECT ROUTE,
ROUND(SUM(D_BETWEEN_DIST), 1) AS TOTAL_DISTANCE,
ROUND(AVG(D_BETWEEN_DIST), 2) AS AVERAGE_DISTANCE
FROM SUBWAY_DISTANCE
GROUP BY ROUTE
ORDER BY TOTAL_DISTANCE DESC;
💡 결과
❓ 의문점
- 단위(km)를 어떻게 표기해야 할까?
📍 CONCAT
- 문자열을 하나로 합쳐주는 함수
SELECT CONCAT(문자열1, 문자열2, ···) FROM 테이블명;
예시)
SELECT CONCAT('개발', '일지') FROM EXAMPLE;
//개발일지
💻 코드
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;
→ 마지막 줄 정렬 부분에서 'TOTAL_DISTANCE'라고 쓰면 테스트에서는 문제가 없는데 제출할 때 틀렸다고 뜬다.
찾아보니 'km' 때문에 제대로 정렬이 되지 않은 것 같다고 해서, 'ROUND(SUM(D_BETWEEN_DIST), 1)로 고쳐줬다.
💡 결과
📚Reference
[SQL] 문자열 연결 / 합치기 (CONCAT 함수)
728x90
'SQL' 카테고리의 다른 글
[MySQL] DATEDIFF / 자동차 평균 대여 기간 구하기 (2) | 2024.05.01 |
---|---|
[MySQL] CASE WHEN / 조건에 부합하는 중고거래 상태 조회하기 (0) | 2024.05.01 |
[MySQL] ROUND(), TURNCATE() 반올림, 내림 / 가격대 별 상품 개수 구하기 (0) | 2024.04.26 |
[MySQL] 오류 Column 'ITEM_ID' in field list is ambiguous (0) | 2024.04.24 |
[MySQL] DISTINCT / 중복 제거하기 (0) | 2024.04.24 |
Comments