知识大全 SQL Server 生成数据透视表

Posted 教材

篇首语:满堂花醉三千客,一剑霜寒十四州。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 SQL Server 生成数据透视表相关的知识,希望对你有一定的参考价值。

SQL Server 生成数据透视表  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  数据透视表是分析数据的一种方法 在Excel中就包含了强大的数据透视功能 数据透视是什么样的呢?给个例子可能更容易理解 假设有一张数据表

  销售人员            书籍                        销量

  

  小王               Excel教材                     

  小李               Excel教材                     

  小王               Word教材                       

  小李               Excel教材                       

  小王               Excel教材                       

  小李               Excel教材                       

  小王               Word教材                     

  小李               Excel教材                     

  一种数据透视的方法是统计每个销售人员对每种书籍的销量 结果如下

  

  Excel教材          Word教材             总计

  

  小王                                                             

  小李                                                           

  各位看明白了吗?这是最简单的一种数据透视了 如果有必要也可以有多级分组

  好了 那在Sql Server中如何视现数据透视的功能呢?我是Sql Server的初学者 看了网上的一些例子 结合自己的理解写了下面这些Sql语句

  生成基础数据的代码

   Create table s( [name] nvarchar( ) book nvarchar( ) saledNumber int ) insert into s ([name] book saledNumber) values( 小王 Excel教材 ); insert into s ([name] book saledNumber)values( 小李 Excel教材 ); insert into s ([name] book saledNumber)values( 小王 Word教材 ); insert into s ([name] book saledNumber)values( 小李 Excel教材 ); insert into s ([name] book saledNumber)values( 小王 Excel教材 ); insert into s ([name] book saledNumber)values( 小李 Excel教材 ); insert into s ([name] book saledNumber)values( 小王 Word教材 ); insert into s ([name] book saledNumber)values( 小李 Excel教材 );

  生成数据透视表

   set @sql = SELECT [name] select @sql = @sql + sum(case  book when +quotename(book )+ then saledNumber else end) as + quotename(book)+   from s group by book select @sql = left(@sql len(@sql) ) select @sql = @sql + sum(saledNumber) as [sum] from s group by [name] select @sql exec(@sql)

  上面的查询语句首先是拼接了一条"Sql语句" 它的最终结果为:

  SELECT [name] sum(case book when Excel教材 then saledNumber else end) as [Excel教材] sum(case book when Word教材 then saledNumber else end) as [Word教材] sum(saledNumber) as [sum] from s group by [name]

  当然 如果表中的数据不同 那么这生成的Sql语句也是不同的 最后它调用了Sql Server的系统存储过程Exec来执行这条语句 截个图吧

> cha138/Article/program/SQLServer/201311/22316

相关参考

知识大全 SQL Server数据库维度表和事实表概述

SQLServer数据库维度表和事实表概述  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 获取SQL Server数据库里表占用容量大小

获取SQLServer数据库里表占用容量大小  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  其实

知识大全 如何将DBF数据库转换成SQL Server表

如何将DBF数据库转换成SQLServer表  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  前言

知识大全 Sql Server 数据库表查询结果导出为excel文件

SqlServer数据库表查询结果导出为excel文件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 解决SQL SERVER 2008数据库表中修改字段后不能保存

解决SQLSERVER2008数据库表中修改字段后不能保存  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 sql server 2008亿万数据性能优化

  根据设计惯例查询的时候主子表通过关键词字段关联查询查询语句如下  selecttopawordaqueryurlairankatitleabaiduurlaitrafficaitrafficbib

知识大全 excel怎么取消设置数据透视表

excel怎么取消设置数据透视表删除数据透视表1.单击数据透视表(数据透视表:一种交互的、交叉制表的Excel报表,用于对多种来源(包括Excel的外部数据)的数据(如数据库记录)进行汇总和分析。)。

知识大全 如何用excel中对应的数据透视表

如何用excel中对应的数据透视表定义数据透视表的数据源若要将工作表数据用作数据源,请单击包含此数据的单元格范围中的某个单元格。若要将MicrosoftExcel表中的数据用作数据源,请单击该Exce

知识大全 sql server自动生成批量执行SQL脚本的批处理

sqlserver自动生成批量执行SQL脚本的批处理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 如何将excel表格中数据透视后的汇总一栏去掉呢

如何将excel表格中数据透视后的汇总一栏去掉呢?数据透视表中右击,数据透视表选项,汇总和筛选选项卡中,把显示行总计和显示列总计前面的勾取消,确定。EXCEL表格中数据透视表怎么使用数据透视表其实就是