-- 2025年每个岗位每一个月内收到简历的数目 -- 对应的2026年的同一个月同岗位,收到简历的数目 -- 先按first_year_mon月份降序 -- 再按job降序排序显示 with first_mon_resum as ( select distinct job, num, substring(date, 1, 7) AS first_year_mon from resume_info where date like '2025%' ), second_mon_resum as ( select distinct job, num, substring(date, 1, 7) AS second_year_mon from resume_info where date like '2026%' ), first_mon_num as( select distinct job, first_year_mon, sum(num) over ( partition by job, first_year_mon ) as first_year_cnt from first_mon_resum ), second_mon_num as( select distinct job, second_year_mon, sum(num) over ( partition by job, second_year_mon ) as second_year_cnt from second_mon_resum ) select f.job, first_year_mon, first_year_cnt, second_year_mon, second_year_cnt from second_mon_num s join first_mon_num f on s.job = f.job where substring(first_year_mon,6,2)= substring(second_year_mon,6,2) order by f.first_year_mon desc, f.job desc
这道题有个非常易错的地方就是:容易忽视当选择用日期job作为连接的关键词时,2025和2026不同月份之间会组合,但是实际上只需要这两个年份相同月份的排列。