窗口函数实现,分组下面多个相同合计值只取一个,

新建 XLS 工作表.zip

image.png

13182656102 发布于 2022-4-2 12:08 (编辑于 2022-4-2 12:08)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-4-2 12:11(编辑于 2022-4-2 12:26)

0317.rar

image.png

如果不想用值1计算,sql  如下是oracel的,,sql serve 类似一样的用ROW_NUMBER() OVER判断就行了。。你改成你的表名称就行。。

select 

列1,

列11,

值1,

合计1,

case when ROW_NUMBER() OVER(PARTITION BY 列1 ORDER BY 列1)=1 then 合计1

else 0 end as 判断后合计1

 from  (

select 'A' as 列1,'A1' as 列11,23 as 值1,72 as 合计1 from dual union all

select 'A' as 列1,'A2' as 列11,23 as 值1,72 as 合计1 from dual union all

select 'A' as 列1,'A3' as 列11,23 as 值1,72 as 合计1 from dual union all

select 'B' as 列1,'B1' as 列11,21 as 值1,21 as 合计1 from dual union all

select 'C' as 列1,'C1' as 列11,15 as 值1,35 as 合计1 from dual union all

select 'C' as 列1,'C2' as 列11,20 as 值1,35 as 合计1 from dual

) t

image.png

最佳回答
0
孤陌Lv6资深互助
发布于2022-4-2 12:12(编辑于 2022-4-2 12:13)

合计也分组就好了  注意 左父格的设置  合计的 左父格 应该设置为 列1 的单元格

  • 3关注人数
  • 395浏览人数
  • 最后回答于:2022-4-2 12:26
    请选择关闭问题的原因
    确定 取消
    返回顶部