-- 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不同月份之间会组合,但是实际上只需要这两个年份相同月份的排列。