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

MSSQL
SQL Server 数据库操作实用技巧锦集
SQL Server转换为XQuery及反向转换
SQL Server 数据库崩溃后的恢复之法
在 SQL Server数据库开发中的十大问题
SQL Server 2000日志转移实现高可用性
帮你六步改善SQL Server安全规划全攻略
教你如何在SQL Server计算机列和平均值
理解 SQL Server 中系统表Sysobjects
用实例分析如何整理SQL Server输入数据
让VB实现SQL Server 2000存储过程调用
利用OBJECT_DEFINITION函数来代码存档
DTS构建组件及其如何完成数据转换服务
编写SQL Server的扩展存储过程实例
SQL Server和Oracle并行处理方法对比
SQL Server数据转换服务基本概念介绍
如何由Sybase向SQL Server移植数据库
如何在SQL Server中由原子建立分子查询
SQL Server用触发器强制执行业务规则
SQL Server数据库导入MySQL数据库体验
SQL Server可写脚本和编程扩展SSIS包

MSSQL 中的 mssql CASE,GROUP BY用法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 147 ::
收藏到网摘: 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