관리 메뉴

막내의 막무가내 프로그래밍 & 일상

[SQL] 프로그래머스 입양 시각 구하기(1) -GROUP BY- 본문

SQL/SQL 문제풀이(프로그래머스)

[SQL] 프로그래머스 입양 시각 구하기(1) -GROUP BY-

막무가내막내 2020. 3. 24. 18:07
728x90

 

 

https://programmers.co.kr/learn/courses/30/lessons/59412

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

공부하다가 머리도 식힐겸 프로그래머스 sql 문제를 풀어봤습니다.

GROUP BY는 안어려운데 DATETIME 을 원하는 포맷으로 바꾸는 방식을 알게되었습니다.

처음에 

DATE_FORMAT(DATETIME, "%H") 을 사용하여 풀었는데 24시간제로 나오긴 하는데 09시 04시 이렇게 앞에 0 이 붙어서 쓸 수 가 없었습니다. 그래서 HOUR 함수를 사용했습니다.

 

풀이는 다음과 같습니다. 

SELECT HOUR(DATETIME) AS HOUR, COUNT(*) AS COUNT 
FROM  ANIMAL_OUTS 
WHERE HOUR(DATETIME) >= 9 AND HOUR(DATETIME) <= 19
GROUP BY HOUR(DATETIME) 
ORDER BY HOUR(DATETIME)

 

시간날때마다 SQL 문제를 풀어보면 좋을 것 같습니다.

 

 

 

오랜만에 SQL를 하니 순서가 햇갈리더라고요 참고용입니다. (간단한 것만 하다보니..)

 

출처: https://police84.tistory.com/69 [찐빵의 IT World]

 

쿼리 처리 과정 / SELECT 실행순서

쿼리가 처리되는 과정은 다음과 같다. 1. 구문 분석(Parsing) 해당 쿼리가 문법적으로 틀리지 않은지 확인. 해당 구문을 SQL 서버가 이해할 수 있는 단위들로 분해하는 과정. 만약 구문이 부정확하다면 여기서 처..

police84.tistory.com

 

-문법 순서-

 

SELECT                            - 1

FROM                               - 2

WHERE                             - 3

GROUP BY                        - 4

HAVING                            - 5

ORDER BY                        - 6

 

-실행 순서-

 

FROM                               - 1

WHERE                             - 2

GROUP BY                        - 3

HAVING                             - 4

SELECT                            - 5

ORDER BY                         - 6



 

728x90
Comments