自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SQL Server數(shù)據(jù)庫PIVOT函數(shù)的使用詳解

數(shù)據(jù)庫 SQL Server
本文我們主要介紹了SQL Server數(shù)據(jù)庫PIVOT函數(shù)的使用方法,并給出了實際的例子加以說明,希望能夠對您有所幫助。

SQL Server數(shù)據(jù)庫中,PIVOT在幫助中這樣描述滴:可以使用 PIVOT 和UNPIVOT 關系運算符將表值表達式更改為另一個表。PIVOT 通過將表達式某一列中的***值轉換為輸出中的多個列來旋轉表值表達式,并在必要時對最終輸出中所需的任何其余列值執(zhí)行聚合。UNPIVOT 與 PIVOT 執(zhí)行相反的操作,將表值表達式的列轉換為列值。

測試用的數(shù)據(jù)及表結構:

  1. CREATE TABLE ShoppingCart(  
  2. [Week] INT NOT NULL,  
  3. [TotalPrice] DECIMAL DEFAULT(0) NOT NULL  
  4. )  
  5. INSERT INTO ShoppingCart([Week],[TotalPrice])  
  6. SELECT 1,10 UNION ALL  
  7. SELECT 2,20 UNION ALL  
  8. SELECT 3,30 UNION ALL  
  9. SELECT 4,40 UNION ALL  
  10. SELECT 5,50 UNION ALL  
  11. SELECT 6,60 UNION ALL  
  12. SELECT 7,70  
  13. SELECT * FROM ShoppingCart 

輸出結果:

SQL Server數(shù)據(jù)庫PIVOT函數(shù)的使用詳解

來看下PIVOT怎么把行變列:

  1. SELECT 'TotalPrice' AS [Week],[1],[2],[3],[4],[5],[6],[7]  
  2. FROM ShoppingCart PIVOT(SUM(TotalPrice) FOR [Week] IN([1],[2],[3],[4],[5],[6],[7])) AS T 

輸出結果:

SQL Server數(shù)據(jù)庫PIVOT函數(shù)的使用詳解

可以看出來,轉換完成了,就這么個功能。再看一個UNPIVOT函數(shù),與上述功能相反,把列轉成行。我們直接使用WITH關鍵字把上述PIVOT查詢當成源表,然后再使用UNPIVOT關鍵把它旋轉回原來的模樣,SQL腳本及結果如下:

  1. WITH P AS (  
  2. SELECT 'TotalPrice' AS [Week],[1],[2],[3],[4],[5],[6],[7]  
  3. FROM ShoppingCart PIVOT(SUM(TotalPrice) FOR [Week] IN([1],[2],[3],[4],[5],[6],[7]))   
  4. AS T  
  5. )  
  6. SELECT  
  7. [WeekDay] AS [Week],  
  8. [WeekPrice] AS [TotalPrice]  
  9. FROM P  
  10. UNPIVOT(  
  11. [WeekPrice] FOR [WeekDay] IN([1],[2],[3],[4],[5],[6],[7])  
  12. )AS FOO 

SQL Server數(shù)據(jù)庫PIVOT函數(shù)的使用詳解

關于SQL Server數(shù)據(jù)庫PIVOT函數(shù)的使用的相關知識就介紹到這里了,希望本次的介紹能夠對您有所收獲!

【編輯推薦】

  1. 初學SQL Server存儲過程調用的代碼示例
  2. SQL Server 2005數(shù)據(jù)庫排序的SQL實例解析
  3. Oracle數(shù)據(jù)庫日志查看工具LogMiner的使用詳解
  4. SQL Server數(shù)據(jù)庫對XML節(jié)點和XML塊的操作實例解析
  5. SQL Server 2008 MDX學習筆記之結果集Sets使用技巧
責任編輯:趙鵬 來源: 博客園
相關推薦

2011-08-15 13:48:47

SQL ServerROW_NUMBER(

2011-08-24 12:49:56

SQL Server托管代碼

2011-08-22 13:04:47

SQL Server數(shù)函數(shù)

2011-08-11 09:12:31

SQL Server nolock

2011-08-22 13:28:56

FOR XMLSQL Server

2021-03-18 08:20:19

SQLServer數(shù)據(jù)庫SQL

2011-08-15 14:29:52

SQL Server數(shù)事務

2011-08-24 09:15:36

SQL Server數(shù)FOR XML AUT

2011-04-13 15:44:12

SQL Server數(shù)函數(shù)

2011-08-02 14:29:06

SQL Server數(shù)Substring函數(shù)

2011-08-30 11:04:30

鏈接查詢內連接外連接

2011-08-22 10:47:09

SQL Server流水號

2010-07-15 17:28:50

SQL Server

2011-08-19 14:53:02

SQL ServerDataRelatio

2011-04-02 11:02:54

SQL Server數(shù)文件恢復

2011-08-25 13:41:50

SQL Server 變更跟蹤

2011-08-18 10:36:24

SQL ServerISNULL函數(shù)

2010-03-16 10:12:40

SQL Server

2009-04-30 09:28:05

SynonymOpenquerySQL Server

2010-07-08 11:05:14

SQL Server數(shù)
點贊
收藏

51CTO技術棧公眾號