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
相關文章
- Spark SQL中列轉行(UNPIVOT)的兩種方法SparkSQL
- SQL是什麼?SQL
- 什麼是SQLSQL
- 什麼是SQL?SQL
- 什麼是SQL遊標?SQL
- SQL Server 中的 NOLOCK 到底是什麼意思?SQLServer
- sql的行轉列(PIVOT)與列轉行(UNPIVOT)SQL
- 在Excel VBA中寫SQL,是一種什麼體驗ExcelSQL
- 什麼是SQL隱碼攻擊(SQLi)SQL
- java 中/**是什麼Java
- 大資料技術 - 為什麼是SQL大資料SQL
- 什麼是Linux?Linux中dev指什麼?Linuxdev
- Linux中什麼是inode?有什麼作用?Linux
- Linux 中boost是什麼?Linux
- TypeScript 中 as const 是什麼TypeScript
- Linux中什麼是Rsync?Linux
- python中loc是什麼Python
- mysql中是什麼意思?MySql
- java中@Inherited是什麼?Java
- java中@Retention是什麼?Java
- javascript中null是什麼JavaScriptNull
- java中RMI是什麼Java
- js 中~~是什麼意思?JS
- 什麼是 Flink SQL 解決不了的問題?SQL
- Linux中公有云是什麼?有什麼作用?Linux
- 什麼是shell?Linux中shell有什麼用途?Linux
- Linux中gpgcheck是什麼意思?作用是什麼?LinuxGC
- JQuery中$(document)是什麼意思有什麼作用jQuery
- 什麼是股市中成功波段操作四大技巧是什麼??
- Python中什麼是閉包?閉包的好處是什麼?Python
- Rust 中的 Trait 是什麼RustAI
- 在Linux中,RabbitMQ是什麼?LinuxMQ
- 在Linux中,什麼是 inode ?Linux
- 在Linux中,RAID 是什麼?LinuxAI
- 在Linux中,什麼是 CLI?Linux
- 在Linux中,什麼是 GUI?LinuxGUI
- 在Linux中,LVM是什麼?LinuxLVM
- 什麼是Scrum中的3355Scrum