You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何无需手动编写60个查询统计近5年每月有效检验员数量?

高效统计近5年每月有效检验员数量的方法

不用手动写60个查询,你可以通过生成月度日期序列+关联统计的方式一次性得到所有月份的结果,核心思路是先构造出近5年每个月的月末日期,再针对每个日期统计符合条件的检验员数量。

具体实现(适配你提供的Access SQL环境)

  1. 生成月度日期序列
    先构造出近5年所有月份的月末日期。如果没有现成的数字辅助表,可以用现有检验员表生成60条记录(对应5年60个月)来生成日期:

    -- 生成包含60个月份偏移量的临时数据集
    SELECT TOP 60 
       (ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) - 1) AS MonthOffset
    INTO MonthOffsets
    FROM dbo_Insp_Type;
    
    -- 基于偏移量生成每个月的月末日期
    SELECT 
       DateSerial(Year(Date()) - 5, 1 + MonthOffset, 1) AS MonthStart,
       DateAdd("d", -1, DateSerial(Year(Date()) - 5, 2 + MonthOffset, 1)) AS MonthEnd
    INTO MonthlyDates
    FROM MonthOffsets
    WHERE DateSerial(Year(Date()) - 5, 1 + MonthOffset, 1) <= Date();
    
  2. 关联统计有效人数
    用生成的月度日期表关联检验员表,按每个月末日期分组统计:

    SELECT 
       Format(md.MonthEnd, "yyyy-mm") AS Month,
       COUNT(it.CERT_EXP_DTE) AS ValidInspectorCount
    FROM MonthlyDates md
    LEFT JOIN dbo_Insp_Type it 
       ON it.CERT_EXP_DTE > md.MonthEnd
    GROUP BY md.MonthEnd, Format(md.MonthEnd, "yyyy-mm")
    ORDER BY md.MonthEnd;
    

逻辑说明

  • 先通过日期函数生成每个月的月末日期,确保统计的是该月结束时的有效检验员(完全匹配你要求的“认证过期日期晚于对应月末日期”的规则)。
  • 左关联检验员表后分组统计,自动输出所有月份的结果,无需手动重复编写查询。

如果你的数据库支持递归CTE(比如SQL Server、MySQL 8.0+),还可以用更简洁的递归方式生成日期序列:

-- SQL Server 示例:递归生成近5年的月末日期
WITH MonthlyDates AS (
   SELECT 
      DATEFROMPARTS(YEAR(GETDATE()) - 5, 1, 1) AS MonthStart,
      EOMONTH(DATEFROMPARTS(YEAR(GETDATE()) - 5, 1, 1)) AS MonthEnd
   UNION ALL
   SELECT 
      DATEADD(month, 1, MonthStart),
      EOMONTH(DATEADD(month, 1, MonthStart))
   FROM MonthlyDates
   WHERE MonthStart <= DATEFROMPARTS(YEAR(GETDATE()), MONTH(GETDATE()), 1)
)
SELECT 
   FORMAT(MonthEnd, 'yyyy-MM') AS Month,
   COUNT(it.CERT_EXP_DTE) AS ValidInspectorCount
FROM MonthlyDates md
LEFT JOIN dbo_Insp_Type it 
   ON it.CERT_EXP_DTE > md.MonthEnd
GROUP BY MonthEnd, FORMAT(MonthEnd, 'yyyy-MM')
ORDER BY MonthEnd
OPTION (MAXRECURSION 60); -- 限制递归次数为60次(对应5年)

内容的提问来源于stack exchange,提问作者Creebag

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 04:01:13