一個sql的行列轉置的例子
一個sql的行列轉置的例子
有這樣一個AAA表如下所示:
name score color
jim 10 red
jim 20 blue
jim 20 green
jim 1 black
glin 2 red
glin 33 blue
glin 21 green
glin 19 black
bob 22 red
bob 39 blue
bob 11 green
bob 11 black
要轉置成如下所示的BBB表
name red blue green black
jim 10 20 20 1
bob 22 39 11 11
glin 2 33 21 19
使用的sql如下:
select R.name ,R.s red,B.s blue,G.s green ,Bk.s black
from( select name,sum(score)s from AAA where color='red' group by name ) R,
( select name,sum(score)s from AAA where color='blue' group by name ) B,
( select name,sum(score)s from AAA where color='green' group by name ) G,
( select name,sum(score)s from AAA where color='black' group by name ) Bk
where R.name = B.name and B.name = G.name and G.name = Bk.name
相當於group by之後把每個人的某一種顏色的分數統計成一個資料集,再把這幾個響應的資料集做表連線拼起來。
----------------------發散思維----------------------
如果反過來,指導BBB表,要返回成AAA表,sql的寫法是怎樣呢?
select name, red score,'red' color from BBB
union
select name, blue score,'blue' color from BBB
union
select name, green score,'green' color from BBB
union
select name, black score,'black' color from BBB
就是把幾個查詢集並起來。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29119536/viewspace-1622249/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 行列轉換的一個例子
- sql行列轉置的實現方法SQL
- 幾個行列轉換的實用小例子
- SQL 如何實現動態的行列轉置SQL
- 行列轉換sqlSQL
- 一個可逆加密的例子 (轉)加密
- sql 實現表的行列轉換SQL
- sql server 行列轉換SQLServer
- 記錄一個行列轉換
- sql server行列轉換案例SQLServer
- 【SQL 學習】行列轉換SQL
- 【SQL】行列轉換方法示例SQL
- 使用動態SQL語句實現簡單的行列轉置(動態產生列)SQL
- JDOM+JSP+JAVABEAN的一個例子(一) (轉)JSJavaBean
- 一個理解wait()與notify()的例子 (轉)AI
- 《轉》SqlServer和Oracle中一些常用的sql語句3-行列轉換SQLServerOracle
- JDOM+JSP+JAVABEAN的一個例子(二) (轉)JSJavaBean
- 一個類資料型別的STL例子 (轉)資料型別
- SQL Server 2005下的行列轉化(簡單)SQLServer
- 一個關於SQL隱碼攻擊的簡單例子SQL單例
- Oracle--SQL行列轉換實戰OracleSQL
- SQL Server中行列轉換 Pivot UnPivotSQLServer
- excel列轉行怎麼做 excel如何轉置行列Excel
- 一個jquery的小例子jQuery
- SQL loader 匯入csv格式的表格檔案的一個例子SQL
- 軟體開發中的矛盾——一個簡單的例子 (轉)
- 通用的行列轉換的方法
- 複雜的行列轉換
- C++ Boost 之Python(一個簡單的例子) (轉)C++Python
- 在SQL Server 2005中實現表的行列轉換SQLServer
- 關於Java的RMI程式設計的一個簡單的例子 (轉)Java程式設計
- 用java實現一個簡單的序列化的例子(轉)Java
- 用java實現一個簡單的序列化的例子 (轉)Java
- 使用vue實現行列轉換的一種方法。Vue
- SQL Server 2005之PIVOT/UNPIVOT行列轉換(轉)SQLServer
- [轉]轉一個關於優化sql的文章優化SQL
- SQL Server 實現行列(縱橫表)轉換SQLServer
- Nginx querystring 轉寫的兩個例子Nginx