SQL中UNPIVOT是什麼
比如你有一個table,你想把列轉換成行,就可以使用unpivot。還是有點抽象,具體什麼意思呢?
比如說有一個table stu_score如下:
Name, Math, Chinese
zhc, 99, 95
xiaoy, 89, 100
xiaot, 98, 60
你想要把它轉化成這樣:
Name, Subject, Score
zhc, Math, 99
zhc, Chinese, 95
xiaoy, Math, 89
xiaoy, Chinese, 100
xiaot, Math, 98
xiaot, Chinese, 60
就是把一行轉換成多行,可以這樣寫SQL用unpivot:
select u.name, u.subject, u.score
from stu_score
unpivot
(
score
for subject in (Math, Chinese)
) u;
另外一種方法還可以使用union來進行一行到多行的轉換,相對來說比unpivot容易理解。 好了,你懂了嗎?
原文:http://blog.csdn.net/hongchangfirst/article/details/111306968
作者:hongchangfirst
hongchangfirst的主頁:http://blog.csdn.net/hongchangfirst
相關文章
- SQL是什麼?SQL
- 什麼是SQL?SQL
- 什麼是SQLSQL
- sql pivot、unpivot和partition by用法SQL
- Spark SQL中列轉行(UNPIVOT)的兩種方法SparkSQL
- SQL Server 中的 NOLOCK 到底是什麼意思?SQLServer
- 什麼是SQL遊標?SQL
- SQL Server中行列轉換 Pivot UnPivotSQLServer
- java 中/**是什麼Java
- 在Excel VBA中寫SQL,是一種什麼體驗ExcelSQL
- sql語句中as的意思是什麼SQL
- java中RMI是什麼Java
- mysql中是什麼意思?MySql
- java中@Inherited是什麼?Java
- java中@Retention是什麼?Java
- javascript中null是什麼JavaScriptNull
- js 中~~是什麼意思?JS
- 什麼是SQL隱碼攻擊(SQLi)SQL
- JQuery中$(document)是什麼意思有什麼作用jQuery
- Linux中什麼是inode?有什麼作用?Linux
- 什麼是股市中成功波段操作四大技巧是什麼??
- C++中::是什麼意思C++
- Linux中什麼是Rsync?Linux
- java中lock介面是什麼Java
- mysql中的“=”是什麼意思MySql
- python中loc是什麼Python
- java中死鎖是什麼Java
- javascript中web worker是什麼JavaScriptWeb
- php中QPM框架是什麼?PHP框架
- 什麼是中臺系統?
- [譯] JavaScript中的“this”是什麼?JavaScript
- MYSQL中的COLLATE是什麼?MySql
- javascript中閉包是什麼JavaScript
- TypeScript 中 as const 是什麼TypeScript
- css中BFC元素是什麼?CSS
- HTML中的塊是什麼?HTML
- HTML中的框架是什麼?HTML框架
- 什麼是shell?Linux中shell有什麼用途?Linux