第一步根据筛选条件,特别是date_format(date,'%y-%m')创造满条件的2025的月度简历情况,即
 (
        SELECT
            job,
            DATE_FORMAT(date, '%Y-%m') AS mon,
            SUM(num) AS f
        FROM
            resume_info
        WHERE
            date BETWEEN '2025-01-01' AND '2025-12-31'
        GROUP BY mon, job
    ) AS a
第二步,仿照第一步同样生成2026年的月度简历情况,即
 (
        SELECT
            job,
            DATE_FORMAT(date, '%Y-%m') AS mon,
            SUM(num) AS s
        FROM
            resume_info
        WHERE
            date BETWEEN '2026-01-01' AND '2026-12-31'
        GROUP BY mon, job
    ) AS b
第三步,将以上两步生成的2025的a表与2026的b表用left join连接,然后用SELECT选出  a.job,   a.mon as first_year_mon,  a.f AS first_year_cnt,  b.mon as second_year_mon,b.s AS second_year_cnt,并且排序ORDER BY  a.mon DESC,a.job DESC;
最后也是最难的就是,如何将2026的月份和2025的月份对应上,我百度的结果:a left join b ON a.job = b.job ----AND DATE_FORMAT(DATE_ADD(STR_TO_DATE(CONCAT(a.mon, '-01'), '%Y-%m-%d'), INTERVAL 1 YEAR), '%Y-%m') = b.mon,即完整代码:
   SELECT
    a.job,
    a.mon as first_year_mon,
    a.f AS first_year_cnt,
    b.mon as second_year_mon,
    b.s AS second_year_cnt
FROM
    (
        SELECT
            job,
            DATE_FORMAT(date, '%Y-%m') AS mon,
            SUM(num) AS f
        FROM
            resume_info
        WHERE
            date BETWEEN '2025-01-01' AND '2025-12-31'
        GROUP BY mon, job
    ) AS a
LEFT JOIN
    (
        SELECT
            job,
            DATE_FORMAT(date, '%Y-%m') AS mon,
            SUM(num) AS s
        FROM
            resume_info
        WHERE
            date BETWEEN '2026-01-01' AND '2026-12-31'
        GROUP BY mon, job
    ) AS b
    ON a.job = b.job AND DATE_FORMAT(DATE_ADD(STR_TO_DATE(CONCAT(a.mon, '-01'), '%Y-%m-%d'), INTERVAL 1 YEAR), '%Y-%m') = b.mon
ORDER BY
    a.mon DESC,
    a.job DESC;