描述

在牛客实习广场有很多公司开放职位给同学们投递,同学投递完就会把简历信息存到数据库里。
现在有简历信息表(resume_info),部分信息简况如下:

第1行表示,在2025年1月2号,C++岗位收到了53封简历
......
最后1行表示,在2027年2月6号,C++岗位收到了231封简历

请你写出SQL语句查询在2025年投递简历的每个岗位,每一个月内收到简历的数目,和对应的2026年的同一个月同岗位收到简历的数目,最后的结果先按first_year_mon月份降序,再按job降序排序显示,以上例子查询结果如下:

解析:
第1行表示Python岗位在2025年2月收到了93份简历,在对应的2026年2月收到了846份简历
......
最后1行表示C++岗位在2025年1月收到了107份简历,在对应的2026年1月收到了470份简历

示例1

输入:
drop table if exists resume_info;
CREATE TABLE resume_info (
id int(4) NOT NULL,
job varchar(64) NOT NULL,
date date NOT NULL,
num int(11) NOT NULL,
PRIMARY KEY (id));

INSERT INTO resume_info VALUES
(1,'C++','2025-01-02',53),
(2,'Python','2025-01-02',23),
(3,'Java','2025-01-02',12),
(4,'C++','2025-01-03',54),
(5,'Python','2025-01-03',43),
(6,'Java','2025-01-03',41),
(7,'Java','2025-02-03',24),
(8,'C++','2025-02-03',23),
(9,'Python','2025-02-03',34),
(10,'Java','2025-02-04',42),
(11,'C++','2025-02-04',45),
(12,'Python','2025-02-04',59),
(13,'C++','2026-01-04',230),
(14,'Java','2026-01-04',764),
(15,'Python','2026-01-04',644),
(16,'C++','2026-01-06',240),
(17,'Java','2026-01-06',714),
(18,'Python','2026-01-06',624),
(19,'C++','2026-02-14',260),
(20,'Java','2026-02-14',721),
(21,'Python','2026-02-14',321),
(22,'C++','2026-02-24',134),
(23,'Java','2026-02-24',928),
(24,'Python','2026-02-24',525),
(25,'C++','2027-02-06',231);



注意
STRFTIME()
LIKE
SUBSTR()
创造2个表,然后合拼

WITH first_t AS (
SELECT job, 
       STRFTIME('%Y-%m', date) AS first_year_mon,
       SUM(num) AS first_year_cnt
FROM resume_info
WHERE date LIKE '2025%'
GROUP BY job, first_year_mon
ORDER BY first_year_mon DESC, job DESC),

second_t AS (
SELECT job, 
       STRFTIME('%Y-%m', date) AS second_year_mon,
       SUM(num) AS second_year_cnt
FROM resume_info
WHERE date LIKE '2026%'
GROUP BY job, second_year_mon
ORDER BY second_year_mon DESC, job DESC)

SELECT first_t.job, 
       first_t.first_year_mon, 
       first_t.first_year_cnt, 
       second_t.second_year_mon,
       second_t.second_year_cnt
FROM first_t
LEFT JOIN second_t
 ON first_t.job = second_t.job
AND SUBSTRING(first_t.first_year_mon, 6, 2) = SUBSTRING(second_t.second_year_mon, 6, 2)