欢迎莅临 SUN WU GANG 的园子!!!

世上无难事,只畏有心人。有心之人,即立志之坚午也,志坚则不畏事之不成。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

sql server 某一列求和

 

 

 

 

SELECT 患者来源,设备类型,检查部位,设备名称,convert(char(10),STUDY_DATE,121)  as 日期, count(distinct 就诊人次) as 就诊人次--SUM(就诊人数) AS 就诊人数
			FROM dbo.[V_SeePeople]	WHERE 
					STUDY_DATE >= '2019-12-04 00:00:00.000' and STUDY_DATE <= '2019-12-11 23:59:59.000'  
					and OFDEPARTMENT ='FSK'  and ORGNIZATIONCODE ='0101' 
				GROUP BY 患者来源,设备类型,检查部位,设备名称,convert(char(10),STUDY_DATE,121) --order by convert(char(10),STUDY_DATE,121)
UNION all
select '' ,'' ,'' ,'','合计' ,sum( convert(int,temp.就诊人次))AS 就诊人次  from 
 (
 SELECT top 100 percent  患者来源,设备类型,检查部位,设备名称,convert(char(10),STUDY_DATE,121)  as 日期, count(distinct 就诊人次) as 就诊人次--SUM(就诊人数) AS 就诊人数
			FROM dbo.[V_SeePeople]   	WHERE 
					STUDY_DATE >= '2019-12-04 00:00:00.000' and STUDY_DATE <= '2019-12-11 23:59:59.000'  
					and OFDEPARTMENT ='FSK'  and ORGNIZATIONCODE ='0101' 
				GROUP BY 患者来源,设备类型,检查部位,设备名称,convert(char(10),STUDY_DATE,121) --order by convert(char(10),STUDY_DATE,121) 
			) as temp  

  

SELECT 患者来源,设备类型,检查部位,设备名称,convert(char(10),STUDY_DATE,121)  as 日期, count(distinct 就诊人次) as 就诊人次--SUM(就诊人数) AS 就诊人数
			FROM dbo.[V_SeePeople]	WHERE 
					STUDY_DATE >= '2019-12-04 00:00:00.000' and STUDY_DATE <= '2019-12-11 23:59:59.000'  
					and OFDEPARTMENT ='FSK'  and ORGNIZATIONCODE ='0101' 
				GROUP BY 患者来源,设备类型,检查部位,设备名称,convert(char(10),STUDY_DATE,121) --order by convert(char(10),STUDY_DATE,121)
UNION all
select '' as 患者来源,'' as 设备类型,'' as 检查部位,''as 设备名称,'合计' as 日期,sum( convert(int,temp.就诊人次))AS 就诊人次  from 
 (
 SELECT top 100 percent  患者来源,设备类型,检查部位,设备名称,convert(char(10),STUDY_DATE,121)  as 日期, count(distinct 就诊人次) as 就诊人次--SUM(就诊人数) AS 就诊人数
			FROM dbo.[V_SeePeople]   	WHERE 
					STUDY_DATE >= '2019-12-04 00:00:00.000' and STUDY_DATE <= '2019-12-11 23:59:59.000'  
					and OFDEPARTMENT ='FSK'  and ORGNIZATIONCODE ='0101' 
				GROUP BY 患者来源,设备类型,检查部位,设备名称,convert(char(10),STUDY_DATE,121) --order by convert(char(10),STUDY_DATE,121) 
			) as temp   

 

注意:sql 存储 中 select ''  == select '''' 

eg:

set @sqlstr2 = ' UNION all select '''' ,'''' ,'''' ,'''' ,''合计'',sum( convert(int,temp.就诊人数))AS 就诊人数
from (SELECT top 100 percent '+@SelectName+@sdate+' as 日期,
count(distinct 就诊人数) as 就诊人数 FROM dbo.[V_SeePeople] WHERE
'+@sDateColum+' >= '''+ @sStartDate+' 00:00:00' +''' and '+@sDateColum+' <= ''' +@sEndDate+' 23:59:59'+''' '+@sMod+'
GROUP BY '+@GroupName + @sdate + ') as temp' ;

 

 

 

  

posted on 2019-12-12 09:34  sunwugang  阅读(9104)  评论(0编辑  收藏  举报