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

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

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 香港

相关推荐

霁华Tel:秋招结束了,好累。我自编了一篇对话,语言别人看不懂,我觉得有某种力量在控制我的身体,我明明觉得有些东西就在眼前,但身边的人却说啥也没有,有神秘人通过电视,手机等在暗暗的给我发信号,我有时候会突然觉得身体的某一部分不属于我了。面对不同的人或场合,我表现出不一样的自己,以至于都不知道自己到底是什么样子的人。我觉得我已经做的很好,不需要其他人的建议和批评,我有些时候难以控制的兴奋,但是呼吸都让人开心。
点赞 评论 收藏
分享
8 3 评论
分享
牛客网
牛客企业服务