首頁 > 資料庫 > mysql教程 > 如何在沒有聚合函數的情況下執行 T-SQL PIVOT 操作?

如何在沒有聚合函數的情況下執行 T-SQL PIVOT 操作?

Mary-Kate Olsen
發布: 2025-01-20 09:51:09
原創
961 人瀏覽過

How to Perform a T-SQL PIVOT Operation Without Aggregate Functions?

無聚合函數的 T-SQL PIVOT 操作

與通常需要聚合函數的 PIVOT 運算不同,也可以在無需聚合函數的情況下執行 PIVOT 轉換。這可能出現在需要資料重構而無需匯總的特定場景中。

考慮以下表格:

CustomerID DBColumnName Data
1 FirstName Joe
1 MiddleName S
1 LastName Smith
1 Date 12/12/2009
2 FirstName Sam
2 MiddleName S
2 LastName Freddrick
2 Date 1/12/2009
3 FirstName Jaime
3 MiddleName S
3 LastName Carol
3 Date 12/1/2009

目標是將此數據透視到以下結果:

CustomerID FirstName MiddleName LastName Date
1 Joe S Smith 12/12/2009
2 Sam S Freddrick 1/12/2009
3 Jaime S Carol 12/1/2009

要使用無需聚合函數的 PIVOT 來實現此目標,可以使用以下查詢:

<code class="language-sql">SELECT CustomerID,
       MIN(CASE DBColumnName WHEN 'FirstName' THEN Data END) AS FirstName,
       MIN(CASE DBColumnName WHEN 'MiddleName' THEN Data END) AS MiddleName,
       MIN(CASE DBColumnName WHEN 'LastName' THEN Data END) AS LastName,
       MIN(CASE DBColumnName WHEN 'Date' THEN Data END) AS Date
FROM table
GROUP BY CustomerId;</code>
登入後複製

此查詢在 PIVOT 操作中執行 case 語句,以針對給定的 CustomerID 選擇每個 DBColumnName 的最小值。由於每個 CustomerID 和 DBColumnName 組合只有一行數據,因此 MIN 函數傳回所需的值。

以上是如何在沒有聚合函數的情況下執行 T-SQL PIVOT 操作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板