当前位置: 首页 > news >正文

东莞百度网站推广ppt模板免费下载的网站

东莞百度网站推广,ppt模板免费下载的网站,网站整站截图,如何关闭网站 备案PIVOT函数常用于数据的行转列#xff0c;同时也可以用此函数实现类似于Excel中的数据透视表的效果。 PIVOT函数 PIVOT 函数的基本语法如下#xff1a; -- PIVOT 语法 SELECT 非透视的列,[第一个透视的列] AS 列名称,[第二个透视的列] AS 列名称,.…PIVOT函数常用于数据的行转列同时也可以用此函数实现类似于Excel中的数据透视表的效果。 PIVOT函数 PIVOT 函数的基本语法如下 -- PIVOT 语法 SELECT 非透视的列,[第一个透视的列] AS 列名称,[第二个透视的列] AS 列名称,...[最后一个透视的列] AS 列名称,FROM(生成数据的 SELECT 查询) AS 源查询的别名PIVOT (聚合函数(要聚合的列) FOR[包含要成为列标题的值的列]IN ( [第一个透视的列], [第二个透视的列],... [最后一个透视的列]) ) AS 透视表的别名 可选的 ORDER BY 子句;为了更好的解释Povit函数的使用下面建立一张测试用的临时数据表 CREATE TABLE #ShoppingCart( [Name] nvarchar(8) NOT NULL, [Category] nvarchar(8) NOT NULL, [TotalPrice] DECIMAL DEFAULT(0) NOT NULL ) INSERT INTO #ShoppingCart([Name],[Category],[TotalPrice]) SELECT 张三,饼干,30 UNION ALL SELECT 张三,面包,10 UNION ALL SELECT 张三,果冻,30 UNION ALL SELECT 李四,饼干,40 UNION ALL SELECT 李四,面包,20 UNION ALL SELECT 李四,果冻,20 UNION ALL SELECT 陈小二,饼干,20 UNION ALL SELECT 陈小二,饼干,50 UNION ALL SELECT 陈小二,面包,30 UNION ALL SELECT 陈小二,果冻,30 生成后的表结构如下 现在如果需要降此数据进行分类汇总得到每个人对应类别的价格加总有如下两种方法 第一种方法是使用Case when语句计算 SELECT [Name], SUM(CASE [Category] WHEN 饼干 THEN [TotalPrice] ELSE 0 END) AS 饼干, SUM(CASE [Category] WHEN 果冻 THEN [TotalPrice] ELSE 0 END) AS 果冻, SUM(CASE [Category] WHEN 面包 THEN [TotalPrice] ELSE 0 END) AS 面包 FROM [#ShoppingCart] GROUP BY [Name]第二种方法则是使用povit函数来生成 select * from #ShoppingCart pivot(sum([TotalPrice]) for [Category] in (饼干,果冻,面包)) a两个语句生成的结果是一致的 注意PIVOT、UNPIVOT是SQL Server 2005 的语法使用需满足数据库的兼容级别需要兼容级别大于90否则计算出的结果可能会与上面的截图不同。 查询兼容级别语法如下 SELECT compatibility_level FROM sys.databases WHERE name 数据库名; 如果你是跟着上述代码生成的测试数据则数据表是一张临时表所以对应的数据库名是Tempdb, SELECT compatibility_level FROM sys.databases WHERE name Tempdb; 修改兼容级别语法如下 ALTER DATABASE 数据库名 SET COMPATIBILITY_LEVEL 90必须是当前数据库版本范围内的兼容级别 不同数据库版本支持的兼容级别如下 动态PIVOT行转列 在日常的数据处理中经常会遇到要转化为列字段的数量特别多的情况这时如果用上面的语句填写要填写非常多的字段所以需要使用动态代码进行处理 ··· –动态PIVOT行转列 DECLARE sql_str VARCHAR(8000) DECLARE sql_col VARCHAR(8000) SELECT sql_col ISNULL(sql_col ‘,’,‘’) QUOTENAME([Category]) FROM #ShoppingCart GROUP BY [Category]–这一句用于选出所有的列标题并加上[]号然后连接起来 SET sql_str ’ SELECT * FROM #ShoppingCart PIVOT (SUM([TotalPrice]) FOR [Category] IN ( ‘ sql_col ’) ) AS pvt’ PRINT (sql_str) EXEC (sql_str) ··· Unpovit函数 UNPIVOT函数,与上述功能相反,把列转成行。我们直接使用WITH关键字把上述PIVOT查询当成源表,然后再使用UNPIVOT关键把它旋转回原来的模样 WITH Pvt AS ( select * from #ShoppingCart pivot(sum([TotalPrice]) for [Category] in ([饼干],[果冻],[面包])) as a ) SELECT [Name],[Category],[TotalPrice] FROM   Pvt UNPIVOT( [TotalPrice] FOR [Category] in ([饼干],[果冻],[面包]) )AS T结果如下可以看到如果用PIVOT 执行聚合并将多行合并为输出中的一行UNPIVOT就只能输出合并后的一行数据了。 另外PIVOT函数也不会输出值为Null的数据行所以UNPIVOT 同样也无法复原原始数据中原有的null值
http://www.w-s-a.com/news/782775/

相关文章:

  • 网站建设项目管理基本要求网站空间到期影响
  • 做奖杯的企业网站谁有推荐的网址
  • wordpress能做企业站吗wordpress收发邮件
  • 电子产品网站建设策划方案腾讯企业邮箱注册申请免费
  • 哪些网站可以免费做代码自己电脑做网站服务器广域网访问
  • 高端网站设计青海省教育厅门户网站学籍查询
  • 长春网站优化公司网站制作400哪家好
  • 县级门户网站建设的报告开发游戏的软件有哪些
  • 做电子商务的网站wordpress带会员中心
  • 网站域名不变网站可以从做吗网站建设步骤 文档
  • 网站建设中 gif互联网新项目在哪里找
  • 做外包网站猎头公司英文
  • 房屋结构自建设计 网站海淀教育互动平台
  • 网络营销比赛 营销型网站策划热门搜索关键词
  • 网站建设图片代码网络设计师工资
  • 福建网站开发适合交换友情链接的是
  • 企业门户网站建站内乡微网站开发
  • 在线做logo印章网站一般到哪个网站找数据库
  • 哪些网站做免费送东西的广告6郑州人流医院哪家好
  • 高端做网站哪家好sem技术培训
  • 网站做等保是按照什么定级别的做网站的资源哪里找
  • 免费建站网页无需登陆潍坊高端模板建站
  • 北京php网站建设软通动力外包值得去吗
  • 优酷 做视频网站还能成功吗光谷做网站推广哪家好
  • 培训学校网站建设方案网站开发方案设计
  • 网站开发分支结构外贸网站做推广
  • 海南省城乡建设厅网站首页济南网站建设百家号
  • wordpress 图片命名吗北京seo优化哪家公司好
  • 国税网站页面申报撤销怎么做网站空间如何买
  • 简单的购物网站模板跨境建站平台