본문 바로가기

[LeetCode] 1693. Daily Leads and Partners

by qwee0328 2025. 3. 10.

📝 1693. Daily Leads and Partners

🔹 일일 리더 및 파트너

각 date_id 및 make_name에 대해 고유한 Lead_id 및 고유한 Partner_ID 수를 찾습니다.
어떤 순서로든 결과 테이블을 반환합니다.

 

 

📝 문제 설명

Daily Leads and Partners(1693번) 문제는 특정 날짜(date_id)와 제조사(make_name) 별로 고유한 리드(lead_id)와 고유한 파트너(partner_id)의 수를 계산하는 문제입니다.
즉, 같은 날짜와 제조사에 대해 중복을 제외한 lead_id와 partner_id 개수를 집계해야 합니다.
최종 결과는 어떤 순서로든 반환할 수 있습니다.

 

📊 테이블 구조

DailySales 테이블

Column Name Type
date_id date
make_name varchar
lead_id int
partner_id int

 

 

💡 SQL 문제 해결 방법

  1. GROUP BY를 사용하여 date_id와 make_name별로 데이터를 그룹화합니다.
  2. COUNT(DISTINCT column_name)을 사용하여 중복을 제외한 고유한 lead_id와 partner_id 개수를 계산합니다.
  3. ORDER BY 조건이 없으므로, 어떤 순서로든 반환할 수 있습니다.

 

반응형

 

🖥️ SQL 풀이

  SELECT date_id
       , make_name
       , COUNT(DISTINCT lead_id) AS unique_leads
       , COUNT(DISTINCT partner_id) AS unique_partners
    FROM DailySales
GROUP BY date_id
       , make_name

 

 

🔍 쿼리 분석

  • GROUP BY date_id, make_name: 날짜와 제조사별로 데이터를 그룹화합니다.
  • COUNT(DISTINCT lead_id): 해당 날짜 및 제조사에 대해 고유한 리드 수를 계산합니다.
  • COUNT(DISTINCT partner_id): 해당 날짜 및 제조사에 대해 고유한 파트너 수를 계산합니다.

 

📌 실행 예제

📊 입력 데이터

DailySales 테이블

date_id make_name lead_id partner_id
2020-12-8 toyota 0 1
2020-12-8 toyota 1 0
2020-12-8 toyota 1 2
2020-12-7 toyota 0 2
2020-12-7 toyota 0 1
2020-12-8 honda 1 2
2020-12-8 honda 2 1
2020-12-7 honda 0 1
2020-12-7 honda 1 2
2020-12-7 honda 2 1

 

쿼리 실행 결과

date_id make_name unique_leads unique_partners
2020-12-8 toyota 2 3
2020-12-7 toyota 1 2
2020-12-8 honda 2 2
2020-12-7 honda 3 2

 

  • 2020-12-8의 toyota의 경우는 리더 [0, 1] -> 2명, 파트너 [0, 1, 2] -> 3명을 가지고 있습니다.
  • 2020-12-7의 toyota의 경우는 리더 [0] -> 1명, 파트너 [1, 2] -> 2명을 가지고 있습니다.
  • 2020-12-8의 honda의 경우는 리더 [1, 2] -> 2명, 파트너 [1, 2] -> 2명을 가지고 있습니다.
  • 2020-12-7의 honda의 경우는 리더 [0, 1, 2] -> 3명, 파트너 [1, 2] -> 2명을 가지고 있습니다.

 

🎯 결론

이 문제는 GROUP BY와 COUNT(DISTINCT)을 활용하여 데이터 집계를 수행하는 방법을 연습할 수 있습니다.
특히 중복 제거 후 개수를 세는 방법을 이해하는 것이 중요합니다.

 

 


 

 

더 많은 SQL 문제 풀이를 보고 싶다면 LeetCode SQL 문제 모음을 확인해 보세요! 🚀

728x90
반응형