分组求和

SELECT 

field0047,

DATEDIFF(day, field0012, GETDATE()) AS 处理时长

FROM formmain_1141

WHERE finishedflag = '0'

sql得到下面两列

现在需要分组求和,将处理时常分成5个部分,求每个部门的数量

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

select a.field0047,

case when a.处理时长<30 then '<30天'

when a.处理时长>30 AND a.处理时长<=60 then '30~60天'

when a.处理时长>60 AND a.处理时长<=90 then '60~90天'

when a.处理时长>90 AND a.处理时长<=180 then '90~180天'

when a.处理时长>180 then '>180天'

else null end as 时长段,

count(*) as num

from (

SELECT 

field0047,

DATEDIFF(day, field0012, GETDATE()) AS 处理时长

FROM formmain_1141

WHERE finishedflag = '0'

) a

group by a.field0047,

case when a.处理时长<30 then '<30天'

when a.处理时长>30 AND a.处理时长<=60 then '30~60天'

when a.处理时长>60 AND a.处理时长<=90 then '60~90天'

when a.处理时长>90 AND a.处理时长<=180 then '90~180天'

when a.处理时长>180 then '>180天'

else null end

  • BIGDATA BIGDATA(提问者) 这出来的还是一列数据,我没办法把他添加到表里面去,我需要很多的列,去填写数据
    2023-02-21 16:33 
  • Ymeng Ymeng 回复 BIGDATA(提问者) 字段拖到单元格,field0047纵向扩展,时长段横向扩展呀
    2023-02-21 16:35 
最佳回答
0
runnerLv7资深互助
发布于2023-2-21 11:10(编辑于 2023-2-21 11:11)

你得在sql里分组求和,或者建多个数据集用过滤条件过滤

image.png

最佳回答
0
shirokoLv6资深互助
发布于2023-2-21 11:11

参考这个,自定义按段分组

https://help.fanruan.com/finereport/doc-view-318.html

  • 4关注人数
  • 248浏览人数
  • 最后回答于:2023-2-21 11:16
    请选择关闭问题的原因
    确定 取消
    返回顶部