59일차

Suhyeon Lee·2024년 12월 23일

CodeKata

SQL

180. 15 Days of Learning SQL

  • 문제 핵심

    • 2016년 3월 1일부터 15일까지 하루도 빠지지 않고 제출한 hacker_id 수 출력해야 함
    • 각 날짜별 최대 제출 수를 가진 해커의 hacker_id와 name을 날짜별로 출력해야 함
  • 작성한 쿼리

SELECT 
  s1.submission_date -- first column
  , (
  SELECT
    COUNT(DISTINCT s2.hacker_id)
  FROM
    submissions s2
  WHERE
    s2.submission_date = s1.submission_date
    AND 
    (
    SELECT
      COUNT(DISTINCT s3.submission_date) 
    FROM
      submissions s3 
    WHERE
      s3.hacker_id = s2.hacker_id
      AND s3.submission_date < s1.submission_date) = DATEDIFF(s1.submission_date, '2016-03-01')
  ) -- second column
  , (
  SELECT
    s2.hacker_id
  FROM
    submissions s2
  WHERE
    s2.submission_date = s1.submission_date
  GROUP BY
    hacker_id
  ORDER BY 
    COUNT(submission_id) DESC, hacker_id LIMIT 1
  ) -- third column
  , (
  SELECT
    name
  FROM
    hackers
  WHERE
    hacker_id = what
  ) -- fourth column
FROM 
  (
  SELECT
    DISTINCT submission_date
  FROM 
    submissions
  ) s1
GROUP BY 1
;

팀 프로젝트

대시보드 관련

Tooltip 넣고 싶다면

// Tooltip for the toggle
IF [Toggle] THEN
    "Show"
ELSE
    "Hide"
END

계산된 필드

참고

SDL

: Self-Directed Learning

미니 라이브세션

프리젠테이션 링크

회고

  • SQL 문제가 어려워서 코드카타 진행 시간(1시간) 동안 딱 한 문제만 풀 수 있음😅
    • 183번까지 다 풀기 전까지 일단 Python 알고리즘 풀이는 멈추기
    • 183번까지 다 풀면 SQL 중간 난이도 한 문제 & 알고리즘 한 문제 해서 두 개씩 풀면 되겠다!
      • 아니면 SQL 쉬운 문제 하나 & 알고리즘 두 문제
  • 대시보드에 토글 버튼을 구현하고 싶어서 주말 내내 골머리를 앓았는데 유튜브에 관련 강의를 올리신 선생님 & 태블로 퍼블릭에 토글을 사용한 대시보드를 전체 공개 해주신 선생님 덕분에 해결했음
profile
2 B R 0 2 B

0개의 댓글