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

请求修正SQL查询:获取2021年每周活动量Top3的所有者列表

修正SQL以获取2021年每周活动量Top3所有者列表

需求说明

  • 目标:获取2021年每周活动量最多的前3位所有者列表
  • 强制使用函数:TOP、GROUP BY、COUNT、日期转周数、ROW_NUMBER
  • 输出字段:Week Number、OwnerId、OwnerIdName、Count
  • 每周起始规则:周一(非周日)

原代码问题分析

  1. 全局TOP(3)仅返回全表前3条记录,无法实现每周取前3的需求
  2. DATEPART(week, ...)默认以周日为一周起始,不符合周一的规则
  3. 日期范围计算逻辑错误,无法完整覆盖2021年所有周
  4. 窗口函数直接在聚合查询中输出,未利用排名结果进行筛选

修正后的SQL代码

-- 定义2021年的起止日期,确保覆盖全年
DECLARE @startDate DATE = '2021-01-01';
DECLARE @endDate DATE = '2021-12-31';

-- 第一步:计算每周每个所有者的活动量
WITH WeeklyActivityCounts AS (
    SELECT
        -- 使用ISO周标准,确保周一为一周第一天
        DATEPART(iso_week, a.ModifiedOn) AS [Week Number],
        a.OwnerId,
        a.OwneridName,
        COUNT(a.ActivityId) AS [Count]
    FROM ActivityPointer AS a 
    WHERE 
        a.ModifiedOn BETWEEN @startDate AND @endDate
        AND a.ActivityTypeCode IN ('4201','4210','4212') 
        AND a.OwnerId IN(
            '3C696B18-BFF4-E911-A68A-005056A18C45',  
            'DDD1597F-4FCD-E411-80D3-0050568973A1',   
            '0AD3654A-7517-E011-B418-00505689002A',   
            '98FA2C51-A296-EB11-A6AD-005056A18C45',   
            '56C940A2-B396-EB11-A6AD-005056A18C45',   
            '379C0CE5-D3D2-E911-8105-02BF0A0AC819'
        )
    GROUP BY DATEPART(iso_week, a.ModifiedOn), a.OwnerId, a.OwneridName
),
-- 第二步:对每周的活动量进行排名
RankedActivity AS (
    SELECT
        [Week Number],
        OwnerId,
        OwneridName,
        [Count],
        -- 按周分区,活动量降序排名
        ROW_NUMBER() OVER (PARTITION BY [Week Number] ORDER BY [Count] DESC) AS Rank
    FROM WeeklyActivityCounts
)
-- 第三步:筛选每周排名前3的记录
SELECT
    [Week Number],
    OwnerId,
    OwneridName,
    [Count]
FROM RankedActivity
WHERE Rank <= 3
ORDER BY [Week Number], Rank;

修正要点说明

  1. 周数计算:使用DATEPART(iso_week, ...)遵循ISO标准,强制周一为一周起始日
  2. 逻辑拆分:用CTE将"统计活动量"和"排名筛选"拆分为两步,可读性更强
  3. 每周Top3实现:通过ROW_NUMBER()按周分区排名,再筛选Rank <=3,实现每周取前3的需求
  4. 日期范围优化:直接定义2021年起止日期,避免原代码中复杂且错误的日期偏移计算

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 17:16:29