SQL Server pivot行列转换案例分析
生活随笔
收集整理的這篇文章主要介紹了
SQL Server pivot行列转换案例分析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
通過Pivot進行行列轉換
需求描述
需求:如果我們對訂單表(Sales.Orders)里的客戶編號(cust_id)以不同的貨船編號(shipperid)為列,其對應的費用(freight)求和為值進行轉置。
解決方法:這里需要用PIVOT關鍵字。
數據建表腳本
詳細見分享出鏈接:
鏈接:https://pan.baidu.com/s/18AxfOvXu9mtSfbtRcWAr7Q?
提取碼:u7ir
SQL實現
-- #Step1 這里我們想以shipperid為列,那么首先得知道當前表里有多少類,取出其對應的值。這里不難得到 SELECT DISTINCT shipperid FROM Sales.Orders/* 結果為: shipperid 1 2 3 */-- #Step2編寫行轉列代碼 WITH PivotData AS ( SELECT custid, shipperid, freight FROM Sales.Orders ) SELECT TOP 10 custid, ISNULL([1], 0.00) AS [1], ISNULL([2], 0.00) AS [2], ISNULL([3], 0.00) AS [3] FROM PivotData PIVOT(SUM(freight) FOR shipperid IN ([1],[2],[3]) ) AS P;/* 結果 custid 1 2 3 1 95.03 61.02 69.53 2 43.90 0.00 53.52 3 63.09 116.56 88.87 4 41.95 358.54 71.46 5 189.44 1074.51 295.57 6 0.15 126.19 41.92 7 217.96 215.70 190.00 8 16.16 175.01 0.00 9 341.16 419.57 597.14 10 129.42 162.17 502.36 */總結
以上是生活随笔為你收集整理的SQL Server pivot行列转换案例分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大口径榴弹炮在坦克周围爆炸会被摧毁吗
- 下一篇: 歼11D与歼16的区别在哪里?