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

SQL Server中按员工统计完整年度的最高/最低年度销售配额

解决员工完整年度销售配额的最高/最低统计问题

我来帮你搞定这个年度配额统计的问题!你的现有SQL是针对季度配额的,但要实现年度的统计,我们需要分两步走:先计算每个员工完整年度(四个季度都有数据)的年度总配额,再基于这个结果找出每个员工的最高和最低年度配额。

分步实现思路

  • 第一步:筛选出每个员工的完整年度(四个季度均有配额记录),并计算该年度的总配额;
  • 第二步:基于第一步的结果,统计每个员工的最高、最低年度总配额。

完整SQL代码

-- 第一步:计算每个员工的完整年度总配额
WITH EmployeeAnnualQuotas AS (
    SELECT 
        EmployeeKey,
        CalendarYear,
        SUM(SalesAmountQuota) AS AnnualTotalQuota
    FROM FactSalesQuota
    GROUP BY EmployeeKey, CalendarYear
    -- 仅保留四个季度都有配额的完整年度
    HAVING COUNT(DISTINCT CalendarQuarter) = 4
)
-- 第二步:统计每个员工的最高/最低年度配额
SELECT 
    EmployeeKey,
    MAX(AnnualTotalQuota) AS MaxAnnualQuota,
    MIN(AnnualTotalQuota) AS MinAnnualQuota
FROM EmployeeAnnualQuotas
GROUP BY EmployeeKey
ORDER BY EmployeeKey;

代码说明

  • 使用WITH子句创建临时结果集EmployeeAnnualQuotas,它会按员工和年度分组,计算年度总配额,同时通过HAVING COUNT(DISTINCT CalendarQuarter) = 4确保只统计四个季度数据都存在的完整年度;
  • 外层查询基于这个临时结果集,按员工分组后直接取年度总配额的最大值和最小值,就是你需要的结果。

另外提一下:你原来的SQL逻辑存在问题——自连接完全没必要,而且只是取出了员工所有季度配额里的最大和最小值,并没有关联到年度维度,也没有筛选完整年度的条件,所以无法满足你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:31:50