mssql CASE,GROUP BY用法

复制代码 代码如下:

–create database dbTemp
use dbTemp
create table test
(
Pid int identity(1,1) not null primary key,
Years datetime,
IsFirstSixMonths int default(0), –0表示上半年1表示下半年–
TotalCome int
)
insert test
select ‘2007-1-1’,0,50
union
select ‘2007-3-1’,0,60
union
select ‘2007-12-1’,1,80
union
select ‘2008-1-1’,0,100
union
select ‘2008-12-1’,1,100

select * from test

select convert(char(4),Years,120) as ‘year’,
IsFirstSixMonths=case when IsFirstSixMonths=0 then ‘上半年’ when IsFirstSixMonths=1 then ‘下半年’ END ,
sum(totalcome) as ‘sum’ from test
group by IsFirstSixMonths,convert(char(4),Years,120)


select convert(char(4),Years,120) as ‘year’,
IsFirstSixMonths=case when IsFirstSixMonths=0 then ‘上半年’ ELSE ‘下半年’ END ,
sum(totalcome) as ‘sum’ from test
group by IsFirstSixMonths,convert(char(4),Years,120)

–DROP DATABASE dbtemp


结果如下:

复制代码 代码如下:

2007 上半年 110
2007 下半年 80
2008 上半年 100
2008 下半年 100

原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/tech/database/233530.html

(0)
上一篇 2022年1月23日 20:49
下一篇 2022年1月23日 20:49

相关推荐

发表回复

登录后才能评论