oracle 累计求和问题

sbeg571 2018-07-31 11:56:19
要根据销售情况,统计两家商场办理会员卡情况,现在SQL语句如下:
SELECT KL.门店代码,KL.日期,KL.RS ,
HY.累计人数 FROM
(SELECT S.门店代码,TO_CHAR(S.销售日期,'yyyy-mm') 日期,COUNT(DISTINCT (S.LSH)) RS FROM 会员销售明细表 S
where S.销售日期 BETWEEN '01-7月 -18' AND '30-7月 -18' GROUP BY S.门店代码,TO_CHAR(S.销售日期,'yyyy-mm')) KL
LEFT JOIN
(
SELECT 门店代码,日期,
SUM(人数)OVER(PARTITION BY 门店代码 ORDER BY 日期) 累计人数
FROM
(
SELECT 门店代码, TO_CHAR(办卡日期,'yyyy-mm') 日期,
COUNT (case when 禁用标志=1 then 0 else 1 end ) 人数
FROM 会员表 WHERE 办卡日期<=TO_DATE('2018-07-31','YYYY-MM-DD')
group by 门店代码,TO_CHAR(办卡日期,'yyyy-mm'))
) HY
ON KL.门店代码=HY.门店代码 AND HY.日期=KL.日期

运行后发现因为B商场经营不善,2018年7月份一张会员卡也没有办,这时累计会员2017年7月份数量就出现了0,这种情况如何累计计算会员数量,B商场2017年6月有累计的数量,求SQL如何写
...全文
260 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2018-08-01
  • 打赏
  • 举报
回复
楼主给出测试数据,和你的计算规则和 预期结果。

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧