当前位置: 首页 > 图文教程 > 数据库 > MSSQL > mssql CASE,GROUP BY用法

MSSQL
SQL Server数据库技术(14)
SQL Server数据库技术(15)
SQL Server数据库技术(16)
SQL Server数据库技术(17)
SQL Server数据库技术(18)
SQL Server数据库技术(19)
SQL Server数据库技术(20)
SQL Server数据库技术(21)
SQL Server数据库技术(22)
SQL Server数据库技术(23)
SQL Server数据库技术(24)
SQL Server数据库技术(25)
SQL Server数据库技术(26)
SQL Server数据库技术(27)
SQL Server数据库技术(28)
SQL Server数据库技术(30)
SQL Server数据库技术(31)
SQL Server数据库技术(32)
SQL Server数据库技术(34)
SQL Server数据库技术(35)

MSSQL 中的 mssql CASE,GROUP BY用法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 119 ::
收藏到网摘: n/a

创建数据库并利用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