易截截图软件、单文件、免安装、纯绿色、仅160KB

用CASE WHEN实现sqlserver数据库的分类汇总功能

/*用CASE WHEN实现sqlserver数据库的分类汇总功能*/
/*例1:统计个数*/
/*表结构
id  cityid  major
1   1         A
2   1         B
3   2         B
4   2         A
5   1         A
6   2        B
7   1        C
8   2         C
结果:
cityId  A  B  C
1        2  1  1
2        1  2  1
*/
SELECT cityId,SUM(CASE WHEN major='A' THEN 1 ELSE 0 END) AS 'A',
                      SUM(CASE WHEN major='B' THEN 1 ELSE 0 END) AS 'B',
                      SUM(CASE WHEN major='C' THEN 1 ELSE 0 END) AS 'C'
            from TestCase1 GROUP BY cityId
/*例1:统计总和数*/
/*表结构
Id cityId catalogId Num
1   1        A              3
2   1        B              5
3   2        A              8
4   2        B             2
5   1      &


相关文档:

SQLServer中的Scanf和Printf 收藏

SQLServer中有两个扩展存储过程实现Scanf和Printf功能,恰当的使用它们可以在提取和拼接字符串时大幅度简化SQL代码。
1、xp_sscanf,用它可以分解格式相对固定的字符串,这对于厌倦使用一堆substring和charindex的朋友来说不错。比如前几天的一个帖子中提出的如何分解ip地址,相对简练且通用的代码应该是下面这样
------- ......

SQLServer2005分解并导入xml文件

  SQLServer2005分解并导入xml文件 收藏
测试环境SQL2005,windows2003
DECLARE @idoc int;
DECLARE @doc xml;
 
SELECT @doc=bulkcolumn from OPENROWSET(
   BULK 'D: \test.xml',
   SINGLE_BLOB) AS x
 
EXEC sp_xml_preparedocument @Idoc OUTPUT, @doc
 
  ......

sqlserver中判断表是否存在

在sqlserver(应该说在目前所有数据库产品)中创建一个资源如表,视图,存储过程中都要判断与创建的资源是否已经存在
在sqlserver中一般可通过查询sys.objects系统表来得知结果,不过可以有更方便的方法
如下:
    if   object_id('tb_table') is not null 
     ......

重建 SQLServer 索引的重要性!


原文转自:http://dev.csdn.net/develop/article/71/71778.shtm
 
大多数SQL Server表需要索引来提高数据的访问速度,如果没有索引,SQL Server要进行表格扫描读取表中的每一个记录才能找到索要的数据。索引可以分为簇索引和非簇索引,簇索引通过重排表中的数据来提高数据的访问速度,而非簇索引则通过维护表中的数 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号