表格
有人可以协助我正在寻找一个解决方案,以便为每个商店项目对获得正确的计数。 第一个计数很简单
COUNT (*) OVER(PARTITION BY store ORDER BY s.deptitemcode DESC) StoreItemSeqNo
然而,对于第二个计数,如果标志为假,如果每个商店项目对的标志为真,我只想要计数,如果没有先前的值应该为零,则计数应该是先前的值。
参见表格示例
答案 0 :(得分:2)
聚合函数代替*
也可以表达式。如果为表达式调用COUNT(..)
而不是*
,则会计算除NULL
之外的所有内容。所以,根据flag
计算:
COUNT (CASE WHEN flag = 1 THEN flag ELSE NULL END) OVER(PARTITION BY store ORDER BY s.deptitemcode DESC) StoreItemSeqNo