mssql CASE,GROUP BY用法

 更新时间:2009年02月11日 09:27:14   作者:  
创建数据库并利用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

相关文章

  • SQL SERVER数据库登陆错误18456解决过程

    SQL SERVER数据库登陆错误18456解决过程

    这篇文章主要介绍了SQL SERVER数据库登陆错误18456解决过程,18456错误是因密码或用户名错误而使身份验证失败并导致连接尝试被拒或者账户被锁定无法sa登录,按照如下操作依次排查解决,需要的朋友可以参考下
    2024-10-10
  • 参考sql2012存储过程写的统计所有用户表尺寸大小的示例

    参考sql2012存储过程写的统计所有用户表尺寸大小的示例

    参考SQL2005, 2008和2012的系统存储过程master.sys.sp_spaceused代码后,写了下面一条语句来方便平时统计所有用户表尺寸大小
    2014-01-01
  • SQL Server中避免触发镜像SUSPEND的N种方法

    SQL Server中避免触发镜像SUSPEND的N种方法

    这篇文章主要介绍了SQL Server中避免触发镜像SUSPEND的N种方法,需要的朋友可以参考下
    2016-01-01
  • SQLServer临时存储过程及示例

    SQLServer临时存储过程及示例

    本文主要介绍了SQL Server临时存储过程及示例,分为局部临时存储过程和全局临时存储过程,下面就来具体介绍一下,感兴趣的可以一起来了解一下
    2024-08-08
  • SQL Server误区30日谈 第12天 TempDB的文件数和需要和CPU数目保持一致

    SQL Server误区30日谈 第12天 TempDB的文件数和需要和CPU数目保持一致

    TempDB的文件没有必要分布在多个存储器之间。如果你看到PAGELATCH类型的等待,即使你进行了分布也不会改善性能,而如果PAGEIOLATCH型的等待,或许你需要多个存储器,但这也不是必然-有可能你需要讲整个TempDB迁移到另一个存储系统,而不是仅仅为TempDB增加一个文件
    2013-01-01
  • Sql Server中常用的6个自定义函数分享

    Sql Server中常用的6个自定义函数分享

    这篇文章主要介绍了Sql Server中常用的6个自定义函数分享,本文包含提取数字、提取英文、提取中文、过滤重复字符等函数,需要的朋友可以参考下
    2014-10-10
  • SQL Server:触发器实例详解

    SQL Server:触发器实例详解

    触发器是一种特殊的存储过程,它不能被显式地调用,而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。本篇文章讲诉了SQL Server:触发器实例,有兴趣的可以了解一下。
    2016-12-12
  • 亲自教你使用 ChatGPT 编写 SQL JOIN 查询示例

    亲自教你使用 ChatGPT 编写 SQL JOIN 查询示例

    这篇文章主要介绍了使用ChatGPT编写SQL JOIN查询,作为一种语言模型,ChatGPT 可以就如何构建复杂的 SQL 查询和 JOIN 提供指导和建议,但它不能直接访问 SQL 数据库,它可以帮助您了解语法、最佳实践和有关如何构建查询以高效执行的一般指导,需要的朋友可以参考下
    2023-02-02
  • 深入分析MSSQL数据库中事务隔离级别和锁机制

    深入分析MSSQL数据库中事务隔离级别和锁机制

    事务隔离级别简单的说,就是当激活事务时,控制事务内因SQL语句产生的锁定需要保留多入,影响范围多大,以防止多人访问时,在事务内发生数据查询的错误。设置事务隔离级别将影响整条连接。
    2014-08-08
  • SQL Server数据库备份和恢复数据库的全过程

    SQL Server数据库备份和恢复数据库的全过程

    最近在功能调试前需要先将测试数据库备份,然后功能调试之后再将测试数据库还原,这样就可以重复的进行功能调试,这篇文章主要给大家介绍了关于SQL Server数据库备份和恢复数据库的相关资料,需要的朋友可以参考下
    2022-06-06

最新评论