我需要在 SQL 中更改什么才能将分组到 project_ref 中的 msr_cnt 字段求和?
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
where 'msr_cnt' <> '0'
--group by m.project_ref
当前输出为
项目参考 | msr_cnt |
---|---|
WHGSHDF | 2 |
WHGSHDF | 2 |
WHGSHDF | 2 |
WHGSHDF | 2 |
WHGSHDF | 2 |
WHGSHDF | 2 |
WHGSHDF | 2 |
我需要它来展示
项目参考 | msr_cnt |
---|---|
WHGSHDF | 14 |
我就是无法完全理解它。
如果没有一组适当的源数据、MRE 等,很难回答,但我认为这应该可行:
select
m.project_ref,
sum (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
where msr_cnt <> '0'
group by m.project_ref