前言
练习sql语句,所有题目来自于力扣(https://leetcode.cn/problemset/database/)的免费数据库练习题。
今日题目:
1694.每天的领导和合伙人
表:DailySales
列名 | 类型 |
---|---|
date_id | date |
make_name | varchar |
lead_id | int |
partner_id | int |
该表没有主键(具有唯一值的列)。它可能包含重复项。该表包含日期、产品的名称,以及售给的领导和合伙人的编号。名称只包含小写英文字母。
对于每一个 date_id 和 make_name,找出 不同 的 lead_id 以及 不同 的 partner_id 的数量。
我那不值一提的想法:
- 首先梳理表内容,题干给了一张日常销售表,记录了日期,产品名称,领导人id,和
合伙人id - 其次分析需求,找到每个日期和每个产品都要找出不同的lead_id和不同的partner_id
- 对于每个日期来说,每个产品,直接
group by date_id,make_name
- 对于不同的lead_id和partner_id,用count计数,但是注意需要加distinct
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
结果:
总结:
能运行就行。