【开窗函数】

请问大家。如何有条件的进行开窗函数,如:

sum(je)over(partition by rq where je>0 )je_sum

image.png

SQL ran1025 发布于 2023-3-1 14:59
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
yzm339714Lv6中级互助
发布于2023-3-1 15:01

sum(case when je >0 then je else 0 end ) over(partition by rq ) je_sum

试试这样

最佳回答
0
CD20160914Lv8专家互助
发布于2023-3-1 15:00

这个是放在最后的,不是放在你函数的这个里面的,你要注意它的语法!!!

where je>0

  • ran1025 ran1025(提问者) 就是行实现这个效果 但是不想要在最后where je>0 筛掉数据
    2023-03-01 15:03 
  • CD20160914 CD20160914 回复 ran1025(提问者) 楼下有人写了。你自己看
    2023-03-01 15:03 
最佳回答
0
luojian0323Lv7资深互助
发布于2023-3-1 15:01

你这种应该是case when 才对

用不到开窗函数 

最佳回答
0
用户6NWif5139660Lv6资深互助
发布于2023-3-1 15:02

select sum(je)over(partition by rq  )je_sum from table where je>0

最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-3-1 15:02

先处理金额为0

类似如下语句

SELECT sum(je)over(partition by rq  )je_sum FROM (

SELECT 日期,(CASE WHEN 金额<0 THEN 0 ELSE 金额 END) [JE] FROM TABLE

) T

  • 5关注人数
  • 372浏览人数
  • 最后回答于:2023-3-1 15:02
    请选择关闭问题的原因
    确定 取消
    返回顶部