코딩테스트 SQL 코드카타

2024. 11. 6. 09:31·Daily 코드카타/SQL

문제

코딩테스트 연습 - 입양 시각 구하기(2) | 프로그래머스 스쿨

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 
0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요.
이때 결과는 시간대 순으로 정렬해야 합니다.

 

 


풀이

  1. 0시부터 23시 까지 필터
  2. 전체 카운트
  3. 시간 기준 정렬

 

  • 데이터에 07시 부터 19시 까지의 데이터만 존재함을 확인
  • 0부터 23시까지의 테이블을 생성 후 조인으로 해결 
  • 이때 없는 데이터의 전체 카운트시 0을 반환하도록 함

 


코드

RECURSIVE CTE 즉 재귀적 CTE를 생성.

이는 FOR문 처럼 반복수행 하면서 행을 만드는 것이다.

 

초기의 쿼리, UNION ALL, 재귀쿼리로 이루어져

초기의 쿼리를 기본 결과 집합으로, 재귀 쿼리를 기반으로 반복적인 행을 생성한다.

 

밑은 초기 쿼리를 HOUR 0으로 설정해두면, 재귀 쿼리를 이용하여 

0부터 23까지의 HOUR테이블을 생성하게 된다.

WITH RECURSIVE HOURS(HOUR) AS (
    SELECT 0
    UNION ALL
    SELECT HOUR + 1 
    FROM HOURS
    WHERE HOUR < 23)

SELECT H.HOUR AS HOUR, IFNULL(COUNT(A.DATETIME),0) AS COUNT
FROM HOURS H
LEFT JOIN ANIMAL_OUTS A
ON H.HOUR = DATE_FORMAT(A.DATETIME,'%H')
GROUP BY H.HOUR
ORDER BY H.HOUR ASC

 

 


링크

Programmers/프로그래머스/4/59413. 입양 시각 구하기(2) at main · K-MarkLee/Programmers

 

Programmers/프로그래머스/4/59413. 입양 시각 구하기(2) at main · K-MarkLee/Programmers

This is an auto push repository for Baekjoon Online Judge created with [BaekjoonHub](https://github.com/BaekjoonHub/BaekjoonHub). - K-MarkLee/Programmers

github.com

 

 

끝

저작자표시 비영리 변경금지 (새창열림)

'Daily 코드카타 > SQL' 카테고리의 다른 글

코딩테스트 SQL 코드카타 (기록 별 대여 금액 구하기)  (2) 2024.11.08
코딩테스트 SQL 코드카타  (1) 2024.11.07
코딩테스트 SQL 코드카타 (중고거래 댓글 조회하기)  (0) 2024.11.05
코딩테스트 SQL 코드카타 ()  (0) 2024.11.04
코딩테스트 SQL 코드카타 (저자 별 카테고리 별 매출액 집계)  (0) 2024.11.01
'Daily 코드카타/SQL' 카테고리의 다른 글
  • 코딩테스트 SQL 코드카타 (기록 별 대여 금액 구하기)
  • 코딩테스트 SQL 코드카타
  • 코딩테스트 SQL 코드카타 (중고거래 댓글 조회하기)
  • 코딩테스트 SQL 코드카타 ()
코드 유랑자 승열
코드 유랑자 승열
코드 유랑자 승열의 프로그래밍 일지를 남기는 공간입니다.
  • 코드 유랑자 승열
    승열의 프로그래밍 시네마
    코드 유랑자 승열
  • 전체
    오늘
    어제
  • 링크

    • 깃허브 보러가기
    • 링크드인 보러가기
    • 인스타그램 보러가기
    • 카테고리 N
      • 코딩테스트 N
        • BaekJoon N
      • TIL and WIL
        • TIL
        • WIL
      • 주말스터디
      • 내일배움캠프
        • 사전캠프 강의 (SQL)
      • 용어정리
        • Python
        • Python-Library
        • Machine-Learning
        • Deep-Learning
        • AI 활용
        • LLM & RAG
        • Docker
        • Django
        • SQL
        • Java Script
        • etc
      • Daily 코드카타
        • SQL
        • Python 알고리즘
      • 임시저장
      • 보류
  • 태그

    django
    RAG
    llm
    View
    template
    티스토리챌린지
    word2vec
    langchain
    vector db
    오블완
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
코드 유랑자 승열
코딩테스트 SQL 코드카타
상단으로

티스토리툴바