[1693_EASY] Daily Leads and Partners

2022. 7. 24. 01:26·SQL/LeetCode

Table: DailySales

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| date_id     | date    |
| make_name   | varchar |
| lead_id     | int     |
| partner_id  | int     |
+-------------+---------+
This table does not have a primary key.
This table contains the date and the name of the product sold and the IDs of the lead and partner it was sold to.
The name consists of only lowercase English letters.

 

Write an SQL query that will, for each date_id and make_name, return the number of distinct lead_id's and distinct partner_id's.

Return the result table in any order.

The query result format is in the following example.

 

Example 1:

Input: 
DailySales table:
+-----------+-----------+---------+------------+
| 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          |
+-----------+-----------+---------+------------+
Output: 
+-----------+-----------+--------------+-----------------+
| 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               |
+-----------+-----------+--------------+-----------------+
Explanation: 
For 2020-12-8, toyota gets leads = [0, 1] and partners = [0, 1, 2] while honda gets leads = [1, 2] and partners = [1, 2].
For 2020-12-7, toyota gets leads = [0] and partners = [1, 2] while honda gets leads = [0, 1, 2] and partners = [1, 2].

 

문제 조건 

각 date_id, make_name별 고유한 leads와 partners의 수를 출력하기 

 

풀이 과정

각 date_id, make_name별 COUNT를 해야하니 GROUP BY에 date_id, make_name 추가하기 

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
저작자표시 (새창열림)

'SQL > LeetCode' 카테고리의 다른 글

[1204#_MEDIUM] Last Person to Fit in the Bus  (0) 2022.07.24
[1193#_MEDIUM] Monthly Transactions I  (0) 2022.07.24
[1683#_EASY] Invalid Tweets  (0) 2022.07.24
[1677#_EASY] Product's Worth Over Invoices  (0) 2022.07.23
[1174#_MEDIUM] Immediate Food Delivery II  (0) 2022.07.22
'SQL/LeetCode' 카테고리의 다른 글
  • [1204#_MEDIUM] Last Person to Fit in the Bus
  • [1193#_MEDIUM] Monthly Transactions I
  • [1683#_EASY] Invalid Tweets
  • [1677#_EASY] Product's Worth Over Invoices
소금깨
소금깨
  • 소금깨
    고군분투 인생살이
    소금깨
  • 전체
    오늘
    어제
    • 분류 전체보기 (328)
      • SQL (271)
        • 프로그래머스 (27)
        • LeetCode (198)
        • Hacker Rank (27)
        • Solve SQL (1)
        • 개념 (15)
      • 데이터 분석 (16)
        • 참고하며 공부하기 (14)
      • 기타 (15)
        • 통계 (14)
      • 오류 (6)
      • 인생살이 (0)
        • 리뷰 (0)
        • 일기 (0)
      • 中文 (0)
      • TABLEAU (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    solvesql
    패스트캠퍼스
    medium
    해커랭크
    group by
    직장인인강
    LeetCode
    MySQL
    Hard
    프리미엄
    easy
    패스트캠퍼스후기
    파이썬을활용한시계열데이터분석
    직장인자기계발
    프로그래머스
    시계열데이터분석
    HACKER_RANK
    패캠챌린지
    SQL
    파이썬을활용한시계열데이터분석AtoZ올인원패키지Online
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
소금깨
[1693_EASY] Daily Leads and Partners
상단으로

티스토리툴바