• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

해커랭크의 Weather Observation Station 5 문제 혹시 여쭤볼수있을까요

20.05.14 09:53 작성 조회수 300

1

안녕하세요~ 중급반 수강 마치고 고급반 듣기전에 해커랭크 문제들 많이 풀어보는 중입니다! 

혹시 Weather Observation Station 5 의 쿼리는 어떻게 짜면될지 여쭤볼수있을까요? ㅠㅠ 몇번 해보다가 다 답이 아닌것같아 여쭤봅니다!! 

답변 4

·

답변을 작성해보세요.

1

안녕하세요 Heekang Jeon 수강생님!

수강을 마치시고도 스스로 공부하시려는 모습이 너무 보기 좋네요 :)

몇가지 먼저 알려주시면 도움을 드리기가 더 좋을 것 같은데요.

우선 문제를 어떻게 이해하셨는지, 어떤 방식으로 시도를 해보셨었는지, 그 때 나온 에러 메세지는 무엇이고 어느 부분이 이해가 안가는지를 이야기 해주시면 필요한 부분을 파악하고 도움을 드리기가 좋을 것 같습니다.

감사합니다.

0

많은 도움이 되었습니다. 친절한 설명 감사드립니다!

0

안녕하세요 Heekang Jeon 님!

올려주신 추가 질문 확인하였습니다 ㅎ

접근 잘 하셨고 문제 상황도 잘 파악하고 계시네요! 말씀해주신 것 처럼 지금 작성해주신 ORDER BY 구문에 해당하는 기준으로만 정렬을 하면, CITY의 글자수가 같은 데이터의 경우 순서가 랜덤하게 배정이 되기 때문에 정답으로 인정을 못받게 돼요.

그래서 ORDER BY 구문에서 두가지 이상의 기준으로 정렬을 해주고싶을 경우에는

ORDER BY LENGTH(city) ASC, city ASC

이렇게 ORDER BY 구문 작성해주시면 다음과 같이 MySQL이 작동하게 됩니다.

1. 첫번째 기준인 LENGTH(city)로 우선 데이터를 정렬

2. 첫번째 기준에서 순서를 정할 수 없는 경우(글자수가 같은 경우) 두번째 기준인 city 데이터 자체의 알파벳 순서를 참고하여 데이터 정렬

참고로 ASC, DESC 옵션은 개별적으로 지정해줄 수 있습니다.

혹시 설명이 이해가 가지 않으시거나 또 궁금한 점이 있으시면 언제든지 질문 해주세요 :)

감사합니다.

0

넵 저는 아래와 같이 풀었는데요,  각각 Roy 3  Marine On Saint Croix 21 이 output으로 나왔는데 정답이 아닙니다~ 아마도 LENGTH(CITY)가 같을경우에는 알파벳 순서로 가장 우선인 값을 선택해야 하는데, 이부분이 틀린것 같습니다. 

그래서 어떻게 ORDER BY 에서 두가지 이상의 ORDER를 우선순위에 맞춰 동시에 적용하는지가 궁금합니다! (즉 우선은 LENGTH(CITY)가 긴/짧은 순서대로, 두번째는 CITY의 알파벳 순서대로 정렬) 

SELECT CITY, LENGTH(CITY)

FROM STATION

ORDER BY LENGTH(CITY) ASC

LIMIT 1;

SELECT CITY, LENGTH(CITY)

FROM STATION

ORDER BY LENGTH(CITY) DESC

LIMIT 1;

정말 감사합니다~!