主頁 > 知識庫 > SQL知識點之列轉行Unpivot函數(shù)

SQL知識點之列轉行Unpivot函數(shù)

熱門標簽:河北便宜電銷機器人軟件 怎么申請400熱線電話 湖南保險智能外呼系統(tǒng)產品介紹 泗洪正規(guī)電話機器人找哪家 怎么去開發(fā)一個電銷機器人 小程序智能電話機器人 簡單的智能語音電銷機器人 ai電話電話機器人 南昌呼叫中心外呼系統(tǒng)哪家好

前言

這是總結SQL知識點的第二篇文章,一次只總結一個知識點,盡量說明白。上次我們談到行轉列,用的是Pivot函數(shù),這次我們來談談Unpivot函數(shù)。(這里是用的數(shù)據庫是SQLSERVER,與其他數(shù)據庫是類似的,大家放心看就好)

先看一個小問題CustomerCustomer

在這張圖中,表示的是顧客用不同手機號給Phone1、Phone2、Phone3撥打電話的情況,但是機靈的你,想變個花樣來看看,比如下面這樣的。

UnpivotUnpivot

大家想想看如何實現(xiàn)呢?想下,2分鐘后再看喲

先創(chuàng)建數(shù)據

 CREATE TABLE dbo.CustomerPhones
(
 CustomerID INT PRIMARY KEY, -- FK
 Phone1 VARCHAR(32),
 Phone2 VARCHAR(32),
 Phone3 VARCHAR(32)
);
INSERT dbo.CustomerPhones
 (CustomerID, Phone1, Phone2, Phone3)
VALUES
 (1,'705-491-1111', '705-491-1110', NULL),
 (2,'613-492-2222', NULL, NULL),
 (3,'416-493-3333', '416-493-3330', '416-493-3339');

 select * from dbo.CustomerPhones

查看數(shù)據如下:

DataDataUpivot 實現(xiàn)行轉列

 select * from dbo.CustomerPhones -----數(shù)據源
 unpivot 
( 
  Phone FOR Phones IN (Phone1, Phone2, Phone3)
   ##Phone1、Phone2、Phone3這些列的結果轉為行上的結果,成為一列,
  ##并且有了新的列名為Phone
) up

結果如下:

ResultResult

參考文獻:

1.Use SQL Server's UNPIVOT operator to help normalize output

2.SQL之行轉列Pivot用法

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • Pandas透視表(pivot_table)詳解
  • pandas pivot_table() 按日期分多列數(shù)據的方法
  • C#實現(xiàn)Excel動態(tài)生成PivotTable
  • 行轉列之SQL SERVER PIVOT與用法詳解
  • SQL基礎教程之行轉列Pivot函數(shù)
  • Pandas 重塑(stack)和軸向旋轉(pivot)的實現(xiàn)
  • Python Pivot table透視表使用方法解析

標簽:那曲 景德鎮(zhèn) 柳州 淮安 威海 瀘州 荊門 江蘇

巨人網絡通訊聲明:本文標題《SQL知識點之列轉行Unpivot函數(shù)》,本文關鍵詞  SQL,知識點,之列,轉行,Unpivot,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《SQL知識點之列轉行Unpivot函數(shù)》相關的同類信息!
  • 本頁收集關于SQL知識點之列轉行Unpivot函數(shù)的相關信息資訊供網民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章