日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL Server pivot行列转换案例分析

發布時間:2024/9/27 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL Server pivot行列转换案例分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

通過Pivot進行行列轉換

需求描述


需求:如果我們對訂單表(Sales.Orders)里的客戶編號(cust_id)以不同的貨船編號(shipperid)為列,其對應的費用(freight)求和為值進行轉置。
解決方法:這里需要用PIVOT關鍵字。

數據建表腳本


詳細見分享出鏈接:
鏈接:https://pan.baidu.com/s/18AxfOvXu9mtSfbtRcWAr7Q?
提取碼:u7ir

-- Sales.Orders訂單表里用戶編號、貨船編號、運費示例數據 SELECT TOP 12 custid, shipperid, freight FROM Sales.Orders

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行列转换案例分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。