Sybase IQ存储过程实现满足条件时丢弃分组前置记录的方案
基于Sybase IQ的分组筛选存储过程实现需求
核心过滤规则
对按业务维度划分的查询结果集执行分组级过滤,判定逻辑为:
- 当分组内存在符合触发条件的记录(即标识字段
flag = 'y')时,仅保留该触发记录本身、以及同分组内日期等于、晚于该触发日期的所有同分组记录,完全丢弃触发日期之前的同分组前置记录 - 当分组内所有记录均未满足触发条件时(如示例中的x1分组),完整保留该分组下的全部记录
参考处理边界示例
针对不同触发场景,给定明确的处理参考标准:
p1分组:2021年3月的记录flag='y'为触发节点,需丢弃该节点之前的2021年1月、2月的前置记录,保留触发节点及之后的2021年3月、4月、5月的全量记录c1分组:2021年5月的记录flag='y'为触发节点,需丢弃该节点之前的2021年1月的前置记录,保留触发节点及之后的2021年5月、9月的全量记录x1分组:所有记录的flag字段值均为'n',无有效触发节点,因此保留该分组的全部记录
内容的提问来源于stack exchange,提问作者Obyz
相关产品推荐
相关产品推荐

