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

如何提高网站百度权重怎么样网站吸引人

如何提高网站百度权重,怎么样网站吸引人,wordpress有识图接口吗,flash网站优缺点PIVOT#xff0c;UNPIVOT运算符是SQL server 2005支持的新功能之一#xff0c;主要用来实现行到列的转换。本文主要介绍PIVOT运算符的操作#xff0c;以及如何实现动态PIVOT的行列转换。 一、PIVOT的语法 SELECT [non-pivoted column], -- optional [additional non-…      PIVOTUNPIVOT运算符是SQL server 2005支持的新功能之一主要用来实现行到列的转换。本文主要介绍PIVOT运算符的操作以及如何实现动态PIVOT的行列转换。       一、PIVOT的语法   SELECT [non-pivoted column], -- optional [additional non-pivoted columns], -- optional [first pivoted column], [additional pivoted columns] FROM ( SELECT query producing sql data for pivot -- select pivot columns as dimensions and -- value columns as measures from sql tables ) AS TableAlias PIVOT ( aggregation function(column for aggregation or measure column) -- MIN,MAX,SUM,etc FOR [] IN ( [first pivoted column], ..., [last pivoted column] ) ) AS PivotTableAlias ORDER BY clause – optional       1. 静态PIVOT的用法        为演示从NorthWind数据库中提取一些记录生成新的Orders表然后使用PIVOT将行转换到列。 USE tempdb GO SELECT YEAR(OrderDate) AS [Year],CustomerID ,od.Quantity INTO dbo.Orders FROM NorthWind..Orders AS oJOIN NorthWind..[Order Details] AS odON o.OrderID od.OrderID WHERE o.CustomerID IN (BONAP,BOTTM,ANTON) SELECT CustomerID,[1996],[1997],[1998] FROM dbo.Orders PIVOT (SUM(Quantity)FOR [Year] IN ([1996],[1997],[1998]))x /* TSQL中pivot的结构● 用于生成pivot数据源的源表作为一个输入表● pivot表● 聚合列及透视列的选择TSQL中pivot的实现 1-上例中Orders表相当于是一个输入表。包含了CustomerID,[Year],Quantity 三个列。Year是透视列用于生成维度。pivot首先将聚合列之外的列进行分组并对其实现聚合。本列中则是对聚合列Quantity之外的列先实现分组即对CustomerIDYear进行分组并对其Quantity实现聚合相当于先做如下处理 */ SELECT CustomerID,[Year],SUM(Quantity) AS Total FROM dbo.Orders GROUP BY CustomerID,[Year] ORDER BY CustomerID /* Result: CustomerID Year Total ---------- ----------- ----------- ANTON 1996 24 ANTON 1997 295 ANTON 1998 40 BONAP 1996 181 BONAP 1997 486 BONAP 1998 313 BOTTM 1996 81 BOTTM 1997 454 BOTTM 1998 421 */ /* 2-pivot根据FOR [Year] IN子句中的值在结果集中来建立对应的新列本例中即是列对于新列中的取值取中间结果集中与之相对应的值。如对于客户ANTON1996列中的值就选择中间结果中对应的Total值同理列中为。并将中间结果pivot表命名为x。3-最外层的SELECT语句从pivot表生成最终结果,此处因Orders表仅有列故直接将结果用一个SELECT返回有嵌套的SELECT参照下例。--结果: CustomerID 1996 1997 1998 ---------- ----------- ----------- ----------- ANTON 24 295 40 BONAP 181 486 313 BOTTM 81 454 421 */ 以下是为输入表多于一列的例子,数据来源于SQL server 2005的AdventureWorks其实现的原理同上。 SELECT * FROM(SELECT YEAR(DueDate) [Year],CASE MONTH(DueDate)WHEN 1 THEN January WHEN 2 THEN FebruaryWHEN 3 THEN MarchWHEN 4 THEN AprilWHEN 5 THEN MayWHEN 6 THEN JuneWHEN 7 THEN JulyWHEN 8 THEN AugustWHEN 9 THEN SeptemberWHEN 10 THEN OctoberWHEN 11 THEN NovemberWHEN 12 THEN DecemberEND as [Month],ProductID,OrderQtyFROM Production.WorkOrder )WorkOrderPIVOT (SUM(OrderQty)FOR [Month] IN ([January],[February],[March],[April],[May],[June],[July],[August],[September],[October],[November],[December]))x ORDER BY [Year], ProductID --Result: 末尾部分省略 /* Year ProductID January February March April May June July August ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- 2002 3 8480 16870 12960 9530 19390 14170 26200 35870 2002 316 1842 3704 2910 2252 4738 3496 7624 10778 2002 324 1842 3704 2910 2252 4738 3496 7546 10600 2002 327 921 1852 1455 1126 2369 1748 3773 5300 2002 328 414 1048 872 458 1272 992 1786 2632 */   2. 动态PIVOT的使用 USE AdventureWorks; GO --第一种生成透视列的方法使用了COALESCE来联接字符串 DECLARE PivotColHeader VARCHAR(MAX) SELECT PivotColHeader COALESCE(PivotColHeader ,[ cast(Name as varchar) ],[ cast(Name as varchar) ]) --示例中Name转换为varchar或char类型注意在CAST 和CONVERT 中使用varchar 时显示n的默认值为30 FROM Sales.SalesTerritory GROUP BY Name/* --第二种生成透视列的方法使用了FOR XML PATH方法 SELECT PivotColHeader STUFF(( SELECT DISTINCT ,[ cast(Name as varchar) ]FROM Sales.SalesTerritoryFOR XML PATH()),1,1,) */DECLARE PivotTableSQL NVARCHAR(MAX) SET PivotTableSQL NSELECT *FROM (SELECT YEAR(H.OrderDate) [Year],T.Name,H.TotalDueFROM Sales.SalesOrderHeader HLEFT JOIN Sales.SalesTerritory TON H.TerritoryID T.TerritoryID)AS PivotDataPIVOT(SUM(TotalDue)FOR Name IN ( PivotColHeader )) AS x EXECUTE sp_executesql PivotTableSQL --Result:部分结果省略 /* Year Australia Canada Central France Germany Northeast ----------- --------------------- --------------------- --------------------- --------------------- --------------------- --------------------- 2001 1446497.1744 2173647.1453 1263884.1024 199531.723 262752.4184 754833.2045 2002 2380484.8387 7215430.5017 3518185.4756 1717145.7439 575960.0974 3275322.1694 2003 4547123.2777 8186021.9178 4015356.874 4366078.3475 2714826.4297 3833030.25 2004 3823410.2386 3926712.8926 1771532.7396 2853948.6596 2386224.5508 1406555.6861 */      对该动态pivot增加汇总列 DECLARE PivotColHeader VARCHAR(MAX) DECLARE TotalCol VARCHAR(MAX)SELECT PivotColHeader --使用COALESCE函数生成列标题COALESCE(PivotColHeader ,[ cast(Name as varchar) ],[ cast(Name as varchar) ]),TotalCol COALESCE(TotalCol , SUM([ cast(Name as varchar) ]) AS [ cast(Name as varchar) ],SUM([ cast(Name as varchar) ]) AS [ cast(Name as varchar) ]) --使用COALESCE函数生成汇总字符串 FROM Sales.SalesTerritoryDECLARE PivotTableSQL NVARCHAR(MAX) SET PivotTableSQL NSELECT *FROM (SELECT CAST(YEAR(H.OrderDate) AS CHAR(4)) [Year],T.Name,H.TotalDueFROM Sales.SalesOrderHeader HLEFT JOIN Sales.SalesTerritory TON H.TerritoryID T.TerritoryID)AS PivotDataPIVOT(SUM(TotalDue)FOR Name IN ( PivotColHeader )) AS x UNION SELECT GrandTotal, TotalCol FROM (SELECT CAST(YEAR(H.OrderDate) AS CHAR(4)) [Year],T.Name,H.TotalDueFROM Sales.SalesOrderHeader HLEFT JOIN Sales.SalesTerritory TON H.TerritoryID T.TerritoryID) AS PivotData PIVOT(SUM(TotalDue)FOR Name IN ( PivotColHeader )) AS y --PRINT PivotTableSQL EXECUTE sp_executesql PivotTableSQL --Result:部分结果省略 /* Year Australia Canada Central France Germany Northeast Northwest ---------- --------------------- --------------------- --------------------- --------------------- --------------------- --------------------- --------------------- 2001 1446497.1744 2173647.1453 1263884.1024 199531.723 262752.4184 754833.2045 2703481.7947 2002 2380484.8387 7215430.5017 3518185.4756 1717145.7439 575960.0974 3275322.1694 5651688.6685 2003 4547123.2777 8186021.9178 4015356.874 4366078.3475 2714826.4297 3833030.25 7494658.0357 2004 3823410.2386 3926712.8926 1771532.7396 2853948.6596 2386224.5508 1406555.6861 4952772.2793 GrandTotal 12197515.5294 21501812.4574 10568959.1916 9136704.474 5939763.4963 9269741.31 20802600.7782 */ 生成汇总列的注意事项;     1-使用COALESCE函数生成列标题 。     2-使用COALESCE函数生成带有SUM求和函数并且指定了别名的字符串。     3-使用UNION对两个SELECT来实现联接。且将[Year]转换为字符串因为YEAR(H.OrderDate)得值为 INT 而GrandTotal为字符串UNION 或UNION ALL使用时必须列的数量和类型相对应。   引用地址http://blog.csdn.net/robinson_0612/article/details/5385117转载于:https://www.cnblogs.com/hongyuniu/archive/2013/05/07/3064911.html
http://www.pierceye.com/news/920173/

相关文章:

  • 玩具网站开发背景小说网站开发文档
  • 遵义网站设计公司制作网站需要
  • 做广告公司网站建设价格成都seo招聘
  • 网站建设与规划试卷友联互换
  • 宠物网站建设费用天元建设集团有限公司是国企吗
  • 南宁在百度上建网站网站设计怎么做链接
  • 多多进宝怎么做自己网站沈阳正规的男科医院
  • 做简历的网站叫什么软件外贸网站建设工作计划
  • 关键词搜索引擎网站公司要求做网站
  • 如何判断网站开发语言浙江省网站建设报价
  • 建设一个网站思路有关网站建设的网站
  • 网站文明建设工程包括做电影网站什么后果
  • 邯郸市有搞网站服服务的吗怎样免费建设免费网站
  • 衡水学校网站建设wordpress后台中文安装
  • 英文网站建站模板电子名片制作app
  • 沧州网站建设多少钱网站多域名
  • 自己做的网站怎么被搜录免费在线观看韩国电视剧网站推荐
  • 网站推广策划案格式及范文专业做网站排名多少钱
  • 做网站优化多少钱南京华典建设有限公司网站
  • 建网站是什么专业类别海洋高端的专业做网站
  • 网站建设评审标准asp网站安全吗
  • 网站服务器怎么维护网站建设讠金手指科杰
  • 网站关键词推广哪家好咸阳seo推广
  • 自己建设网站难不难门户网站建立流程
  • 制作梦核的网站做网站注意哪方面
  • 京东商城网站wordpress模板凡科网做的网站能直接用吗
  • 网站 位置导航网站备案查询系统php版
  • 网站安全检测平台做网站的怎么挣钱
  • 3营销型网站建设做网站开发最多能做几年
  • 南宁世尊商贸网站建设wordpress给文章设置标题