inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이

4번 문제 풀이

문제와 간접적으로 관련된 질문입니다.

172

KoKuMa

작성한 질문수 20

1

안녕하세요.

문제를 보면 company_code를 order by로 정렬하라고 했습니다. 이 때 정렬 방식을 보면 c1, c2, c3, c100이 아니고

c1, c100, c2, c3인 것을 알수 있습니다. 만약 문제에서

c1, c2, c3, c100 순으로 정렬해 달라고 한다면 어떻게 해야 할까요?

sql

답변 1

2

지식공유자 J

여러 방법이 있을텐데, 저라면 이런 식으로 풀어볼 것 같습니다.

우선 C1, C100, C2, ... 순으로 정렬이 되는 것은 알파벳과 함께 조합되어 있는 값이라서,
데이터 타입이 숫자가 아닌 문자로 되어있기 때문입니다.

숫자 데이터를 기준으로 정렬을 한다면 C1, C2, ..., C100와 같이 정렬이 될 수 있으므로
아래와 같은 순서로 추출한 데이터를 ORDER BY 절에 넣습니다. 
1. company_code의 값에서 문자 'C'를 제외
2. 남은 1, 2, ..., 100과 같은 값의 데이터 타입을 숫자로 변경
쿼리로는 ORDER BY CAST(SUBSTR(company_code, 2) AS DECIMAL) 와 같이 쓸 수 있겠네요!

이 문제를 해결하는 다른 방법들도 있으니 MySQL custom sorting 과 같은 키워드로 검색해 보기를 추천 드립니다.

섹션 4번에 2번 문제 질문입니다.

0

107

2

4번 문제

0

91

1

Top competitors 에서 having count(h.hacker_id)로 해도 되나요?

0

267

1

leetcode 620 group by 질문이요

0

209

2

강의 일시정지/ 기간연장 검토 요청

0

386

1

4번 문제 group by 질문

0

325

2

세트2 4번 문제풀이 해설에 관한 질문

0

359

2

Weather Observation Station 11_ not like 사용

0

270

1

Placements에서 LEFT JOIN 뒤에 ON 조건

0

289

1

Set2 4번문제 질문 - New Companies

0

318

1

WHERE절 안 쓰고 HAVING COUNT(D.score = S.score) > 1 쓰면 왜 안되나요?

-1

714

1

as 2 space-separated values. 무슨 말인가요???

0

434

1

Weather observation Station 11 관련 질문

1

378

2

4번문제풀이

0

458

1

섹션3. Weather Observation Station 18 문제 관련

0

378

2

섹션 2에 1,2번 문제풀이 관하여

0

435

1

기한연장문의

0

332

1

Weather observation station 11 문제 not like

-1

371

1

inner join 과 left join

1

600

1

4번 BST 문제 틀리는 이유

0

347

1

4번 문제 질문

0

291

1

620. Not Boring Movies 문제 질문드립니다

0

290

1

binary tree 질문 입니다.

0

301

1

Top Competitors 질문있습니다 ㅠㅠ

0

248

1