广场有很多公司开放职位给同学们投递,同学投递完就会把简历信息存到数据库里。
现在有简历信息表(resume_info),部分信息简况如上:
第1行表示,在2025年1月2号,C++岗位收到了53封简历
。。。
最后1行表示,在2027年2月6号,C++岗位收到了231封简历
请你写出SQL语句查询在2025年投递简历的每个岗位,每一个月内收到简历的数目,和对应的2026年的同一个月同岗位,收到简历的数目,最后的结果先按first_year_mon月份降序,再按job降序排序显示,以上例子查询结果如下:
结果:
select a.job,a.date1 as first_year_mon,a.cnt as first_year_cnt,
b.date1 as second_year_mon,b.cnt as second_year_cnt
from (select job,left(date,7) as date1,sum(num) as cnt
from resume_info group by date1,job)a
join
(select job,left(date,7) as date1,sum(num) as cnt
from resume_info group by date1,job)b
on right(a.date1,2)=right(b.date1,2) and a.job=b.job
where a.date1 like "2025%" and b.date1 like "2026%"
order by first_year_mon desc,a.job desc
这个sql语句让我写了半天,才写完,其实想通了也挺简单的,真的,都怪自己还是太菜了。