当前位置:网站首页 > Haskell函数式编程 > 正文

pivot函数(pivot函数的作用)



適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric 的 SQL 端點分析 Microsoft Fabric 的倉儲

可以使用 和 關係運算子,將資料表值運算式變更為另一個資料表。 會透過將唯一值從運算式中的某一資料行轉換為輸出中的多個資料行,來旋轉表格值運算式。 也會在最終輸出中所需的任何剩餘數據行值上執行匯總。 藉由將數據表值表達式的數據行旋轉成數據行值,對執行相反的作業 。

的 語法比在複雜數 列語句中可能指定的語法更容易且更容易閱讀。 如需 語法 的完整描述,請參閱 FROM子句。

本文 Transact-SQL 程式碼範例使用 或 範例資料庫,從 Microsoft SQL Server Samples 和 Community Projects (Microsoft SQL Server 範例和社群專案)首頁即可下載。

本節摘要說明如何使用 和 運算符。

運算子的 語法。

 
  

運算子的 語法。

 
  

子句中的資料行識別碼會依照目錄定序。

  • 對於 Azure SQL 資料庫,定序一律為 。
  • SQL Server 部分自主資料庫的定序一律為 。

如果資料行與其他資料行結合,就必須使用定序子句 () 來避免衝突。

在 Microsoft Fabric 和 Azure Synapse Analytics 集區中,如果 的非樞紐數據行輸出有 ,則運算符的查詢會失敗。 因應措施是,從 移除非樞紐數據行。 查詢結果相同,因為這個 子句是重複的。

下列程式碼範例會產生包含兩個資料行的資料表,其中有四個資料列。

 
  

結果集如下所示。

 
  

未定義任何產品,其值為 。

下列程式碼會顯示同樣的結果,但是經過樞紐處理後,讓 值變成了資料行的標題。 即使結果為 ,仍會提供三天的數據行。

 
  

結果集如下所示。

 
  

當您想要產生跨表格式報表來提供資料摘要時,這個常見的狀況可以顯示出 的用處。 例如,假設您想要查詢 範例資料庫中的 資料表,以判斷某些員工所下的訂單數目。 下列查詢會提供這個報表,並依供應商排序:

 
  

以下為部分結果集。

 
  

這個子選擇陳述式所傳回的結果,是根據 資料行進行樞紐處理而來。

 
  

由 資料行所傳回的唯一值會變成最終結果集中的欄位。 因此,樞紐子句中指定的每個數位都有一個數據行,也就是員工、、、 和 在此範例中。 資料行會當作數值資料行,這是在最終輸出中傳回的資料行 (稱為群組資料行) 所根據以進行分組的資料行。 在此情況下, 函數會對群組資料行進行彙總。 出現警告訊息,指出計算每位員工時,不會考慮數據行中出現的任何 Null 值。

執行的作業則幾乎與 相反,它會將資料行旋轉成資料列。 假設上述範例中所產生的資料表在資料庫中是儲存為 ,而現在您想要將資料行識別碼 、、、 和 旋轉成對應到特定供應商的資料列值。 因此,您必須識別兩個額外的數據行。

包含您要旋轉之資料列值的資料列值會呼叫 ,而儲存目前存在於所旋轉資料行下之值的數據行則稱為 。 在 Transact-SQL 定義中,這些資料行分別對應到 pivot_columnvalue_column。 以下是查詢。

 
  

以下為部分結果集。

 
  

不是 的確切反向 。 會執行彙總,並將多個可能資料列合併成輸出中的單一資料列。 不會重現原始數據表值表達式結果,因為數據列已經合併。 此外, 在輸出中消失的輸入 值。 當值消失時,它會顯示作業之前輸入中可能有原始值。

範例資料庫中的 檢視表會使用 來傳回每位銷售人員在每個會計年度的總銷售額。 若要在 SQL Server Management Studio 中編寫該檢視的指令碼,請在物件總管中,於 資料庫的 [檢視] 資料夾底下找出該檢視。 在檢視表名稱上按一下滑鼠右鍵,然後選取 [編寫檢視表的指令碼為] 。

  • FROM 子句 (Transact-SQL)
  • CASE (Transact-SQL)
到此这篇pivot函数(pivot函数的作用)的文章就 介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 如何打开安全选项(如何打开安全模式?)2026-03-28 09:00:06
  • 论文一二三级请问小论文标题(大标题)和文章中的标题(小标题)格式怎么写?格式范例(论文一二三级请问小论文标题(大标题)和文章中的标题(小标题)格式怎么写?格式范例目录)2026-03-28 09:00:06
  • 进程控制块的组织方式有哪几种形式(进程控制块的组织方式有哪几种?)2026-03-28 09:00:06
  • sigmoid函数导数(sigmoid函数导数最大值)2026-03-28 09:00:06
  • pcap文件(pcap文件格式怎么看)2026-03-28 09:00:06
  • 快手买东西支付方式怎么设置(快手买东西怎么选择支付方式)2026-03-28 09:00:06
  • sigmoid函数有什么用(sigmoid函数的优缺点)2026-03-28 09:00:06
  • 单片机编程入门基础知识(单片机编程入门基础知识笔记)2026-03-28 09:00:06
  • ip报文格式(ip报文格式大全)2026-03-28 09:00:06
  • 多级列表样式怎么设置1.1 1.2(多级列表样式怎么设置第一章)2026-03-28 09:00:06
  • 全屏图片