sql问题

sqlserver 里,如下图我想求  累计,感觉没错。。不知道错在哪里了

SQL 一条小咸鱼 发布于 2022-9-28 15:21
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
1
Z4u3z1Lv6专家互助
发布于2022-9-28 15:23(编辑于 2022-9-28 15:40)

缺少 partition BY

select id,sum(sl) over(partition by '' order by id asc) from .............

---------------------------

image.png

------------------------

select *,(select sum(num_) from a b where a.id>=b.id) from a order by id asc

image.png

  • 一条小咸鱼 一条小咸鱼(提问者) 我不需要 partition BY 分区呀,只用 id 进行排序 求累计,sqlserver 是必须要加 partition BY?没有吧。。
    2022-09-28 15:25 
  • Z4u3z1 Z4u3z1 回复 一条小咸鱼(提问者) 看我补充的图
    2022-09-28 15:28 
  • Z4u3z1 Z4u3z1 回复 一条小咸鱼(提问者) 你这是哪个版本的SqlServer?
    2022-09-28 15:29 
  • Z4u3z1 Z4u3z1 回复 一条小咸鱼(提问者) 是不是不支持这个函数?看上边补充的最后一张图
    2022-09-28 15:40 
  • 一条小咸鱼 一条小咸鱼(提问者) 回复 Z4u3z1 应该是sqlserver版本的问题,我没用开窗函数,换了一种写法解决了
    2022-09-28 18:12 
最佳回答
0
RiveryLv5中级互助
发布于2022-9-28 15:25(编辑于 2022-9-28 15:28)

说实话 没搞懂你order by是干啥的,你要是根据id累计

直接

select id,sum(num) as 累计

from ...

group by id

order by id

根据id没必要开窗函数,你想实现啥?

最佳回答
0
lxy2Lv6中级互助
发布于2022-9-28 15:30

你确定你是sqlserver吗

  • 2关注人数
  • 284浏览人数
  • 最后回答于:2022-9-28 15:40
    请选择关闭问题的原因
    确定 取消
    返回顶部