如何对填充字段的计数求和。
数据示例。
期望的输出是。
这就是我到目前为止所做到的。
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
谢谢你
这可以通过使用条件聚合来完成:
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
从数据中并不完全清楚您如何计算 msr_count,但一个简单的 GROUP BY 可能就是这里的答案:
SELECT
project_ref
,count(*) msr_count
from SMSDB1.dbo.ops_measure
group by
project_ref