SQL 对由另一个字段分组的填充字段的计数求和

问题描述 投票:0回答:2

如何对填充字段的计数求和。

数据示例。

期望的输出是。

这就是我到目前为止所做到的。

select      m.project_ref,
        (   select count(*)
            from (values (m.[EWI/IWI]), (m.Glazing), (m.Solar), (m.CWI), (m.Boiler), (m.TRV), (m.LI), (m.RIRI), (m.UFI), (m.ASHP)) as v(col)
            where v.col <> ''
        ) as 'msr_cnt'
from        SMSDB1.dbo.ops_measure m

谢谢你

sql azure count sum
2个回答
1
投票

这可以通过使用条件聚合来完成:

select project_ref, sum(case when EWI_IWI <> '' then 1 else 0 end )
                    + sum(case when Glazing <> '' then 1 else 0 end ) 
                    + ... as msr_count
from mytable
group by project_ref

0
投票

从数据中并不完全清楚您如何计算 msr_count,但一个简单的 GROUP BY 可能就是这里的答案:

SELECT
   project_ref
  ,count(*)  msr_count
 from  SMSDB1.dbo.ops_measure
 group by
   project_ref
© www.soinside.com 2019 - 2024. All rights reserved.