雪花基于一列按 25 行分组

问题描述 投票:0回答:0

我有一个查询将根据主要优先级列按存储创建计算优先级(c_priority),该查询可以很好地使用 row_number() 计算 c_priority over(按存储分区),但是我需要更进一步并且还根据 campaign_column 和优先级按 25 组对结果进行排序,这是我需要帮助的地方。我需要查询以最高优先级提取活动的前 25 条记录,然后提取以下活动的接下来的 25 条记录,一旦完成所有活动,就会返回第一个活动并提取另外 25 条记录并再次循环直到所有记录按存储顺序排列(计算优先级)为止。

如果有人可以提供有关如何实现此目标的想法,我将不胜感激,谢谢!

当前查询:

SELECT CONTACT_ID 
        ,LEAD_NUMBER
        ,LEAD_CREATION_DATE
        ,CUSTOMER_FIRST_NAME
        ,CUSTOMER_LAST_NAME 
        ,CAMPAIGN_NAME
        ,STORE
        ,MOBILE_NUMBER
        ,HOME_NUMBER
        ,WORK_NUMBER
        ,CELL_DO_NOT_CONTACT_FLAG
        ,HOME_DO_NOT_CONTACT_FLAG
        ,WORK_DO_NOT_CONTACT_FLAG
        ,PRIORITY
        ,ROW_NUMBER() OVER (PARTITION by store ORDER BY priority asc, campaign_name, store) AS     C_PRIORITY 
        ,HISTORICAL_DATE
        
FROM stores_campaigns_all

WHERE historical_date = '2023-03-10'
AND store IS NOT NULL
group-by snowflake-cloud-data-platform row-number partition-by
© www.soinside.com 2019 - 2024. All rights reserved.