题解 | #实习广场投递简历分析(三)#

实习广场投递简历分析(三)

http://www.nowcoder.com/practice/83f84aa5c32b4cf5a75558d02dd7743c

单独算出2025和2026年每个月份的投递数量并不难,上一题中也要做过了,
难点在于怎样将相同job不同年相同月的链接起来,这里可以考虑几种字符串提取函数

SELECT a.job,
       a.first_year_mon,
       a.first_year_cnt,
       second_year_mon,
       second_year_cnt
FROM
  (SELECT job,
          date_format(date,'%Y-%m') AS first_year_mon,
          sum(num) AS first_year_cnt
   FROM resume_info
   WHERE year(date)='2025'
   GROUP BY job,
            date_format(date,'%Y-%m')) a
JOIN
  (SELECT job,
          date_format(date,'%Y-%m') AS second_year_mon,
          sum(num) AS second_year_cnt
   FROM resume_info
   WHERE year(date)='2026'
   GROUP BY job,
            date_format(date,'%Y-%m')) b ON a.job=b.job
AND left(a.first_year_mon,4)=left(b.second_year_mon,4)-1 -- 年份差1
AND substr(a.first_year_mon,6,2)=substr(b.second_year_mon,6,2) -- 月份相同
ORDER BY first_year_mon DESC,
         job DESC
全部评论
用开窗函数row_number()over()排序,之后在用排序的数字两表连接就好,排序的规则就是题目的规则就好,也可以使用,如果有大佬使用了其它更便捷的方法,求回复
点赞 回复 分享
发布于 2021-10-25 20:14
b表中的年份本来就是2026,比a表中年份2025大1,为什么还要加年份差1这个条件,如果不加就报错了?求解答
点赞 回复 分享
发布于 2023-05-16 10:39 北京
因为2024比2025小1
点赞 回复 分享
发布于 11-06 16:20 香港

相关推荐

11-27 12:43
已编辑
门头沟学院 C++
点赞 评论 收藏
分享
威猛的小饼干正在背八股:挂到根本不想整理
点赞 评论 收藏
分享
评论
8
3
分享
牛客网
牛客企业服务