日期:2014-05-18  浏览次数:20806 次

group by查询的困惑
有一个group by的统计该怎么做?一个统计里面想实现计划项目的计数合计、实际完成项目个数合计,如何做呢?TextColumn12是实际完成数字段,当值为1=完成

select 区县=CityName,实际完成总投资= Sum( DataColumn21 ) ,计划项目数=count(*),实际完成项目数='?'
from sys_datasource where dataTime>'2012/3/1' and dataTime<'2012/12/1'
group by CityName,TextColumn12 order by CityName


结果:
区县 实际完成总投资 计划项目数 实际完成项目数
-------------------------------------------------- ---------------------- ----------- -----------
aa县 10200 5 ?
bb区 56000 2 ?



------解决方案--------------------
/*1是完成 0是未完成? 如是则:*/

SQL code
select 区县=CityName,实际完成总投资= Sum( DataColumn21 ) ,计划项目数=count(*),实际完成项目数=sum( DataColumn12)
from sys_datasource where dataTime>'2012/3/1' and dataTime<'2012/12/1'
group by CityName order by CityNam

------解决方案--------------------
探讨

SQL code
select 区县=CityName,实际完成总投资= Sum( DataColumn21 ) ,计划项目数=count(*)
,实际完成项目数=SUM(CASE WHEN TextColumn12 = 1 THEN 1 ELSE 0 END)
from sys_datasource where dataTime>'2012/3/1' and dataTime<'2012/1……

------解决方案--------------------
看2楼的解释~!~!~!~