题解 | #实习广场投递简历分析(三)#
实习广场投递简历分析(三)
http://www.nowcoder.com/practice/83f84aa5c32b4cf5a75558d02dd7743c
问题:请你写出SQL语句查询在2025年投递简历的每个岗位,每一个月内收到简历的数目,和对应的2026年的同一个月同岗位,收到简历的数目,最后的结果先按first_year_mon月份降序,再按job降序排序显示
问题拆解:1.上一问求出了2025年的信息
2.同理改一下时间就得出了2026年的信息
3.两个表链接,设定链接条件,让表1的job=表2的job, 同时还需要表1的月份=表2的月份。提取月份的方法有很多,left / right /substr 函数等等都可以。
4.最后常规orderby
以上。
SELECCT r1.job, r1.first_year_mon, r1.first_year_cnt,
r2.second_year_mon, r2.second_year_cnt FROM
(SELET job, LEFT(date,7) first_year_mon, SUM(num) first_year_cnt
FROM resume_info
WHERE date BETWEEN '2025-01-01' AND '2025-12-31'
GROUP BY job, first_year_mon
) r1
JOIN
(SELECT job, LEFT(date,7) second_year_mon, SUM(num) second_year_cnt
FROM resume_info
WHERE date BETWEEN '2026-01-01' AND '2026-12-31'
GROUP BY job, second_year_mon
) r2
ON r1.job=r2.job AND right(first_year_mon,2) = right(second_year_mon,2)
ORDER BY r1.first_year_mon DESC, r1.job DESC