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

如何获取产品修改日期后的当前产品分组

获取产品最新修改日期对应的当前分组方案

针对你要获取产品修改日期后的当前产品分组的需求,之前用string aggregation加逐产品替换的方式行不通,核心原因是没先筛选出每个产品的最新分组记录,直接聚合会把历史数据混进去。给你两个实用的SQL方案:

方案1:获取每个产品的当前分组

如果需要单独查看每个产品对应的最新分组,用窗口函数筛选最新记录即可:

WITH latest_product_records AS (
    SELECT 
        product_id,
        group_name,
        modify_date,
        -- 按产品分区,修改日期倒序排序,最新记录标记为1
        ROW_NUMBER() OVER (PARTITION BY product_id ORDER BY modify_date DESC) AS row_rank
    FROM 你的产品表名
)
SELECT product_id, group_name, modify_date
FROM latest_product_records
WHERE row_rank = 1;

方案2:按当前分组聚合产品列表

如果要把同一当前分组下的产品汇总起来,在方案1的基础上再做聚合:

WITH latest_product_records AS (
    SELECT 
        product_id,
        group_name,
        ROW_NUMBER() OVER (PARTITION BY product_id ORDER BY modify_date DESC) AS row_rank
    FROM 你的产品表名
)
SELECT 
    group_name,
    STRING_AGG(product_id, ', ') AS 产品列表 -- 可根据需求调整分隔符
FROM latest_product_records
WHERE row_rank = 1
GROUP BY group_name;

关键说明

窗口函数ROW_NUMBER()会给每个产品的所有记录按修改日期从新到旧排号,取排号为1的就是该产品的最新分组记录,之后再做聚合就不会有历史数据干扰,比直接替换文本的逻辑更准确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 13:25:23