sql實現縱表變橫表

2021-08-22 12:17:24 字數 893 閱讀 9136

網上所有的縱橫表轉換都是千篇一律的,參考價值都不大,而且只適合那種資料量固定的學生成績表的橫縱轉化,但是當真正遇到大資料量的批量轉換的時候是行不通的,下面介紹一種相對靈活的大量資料的橫縱表轉換:

表結構:

如上圖所示,其中index_id中以0結尾的表示的是服務名,以1結尾的表示裝置rac名稱,2結尾的表示的是裝置狀態。

下面我們需要將一組0,1,2結尾的分別展示成以服務名,裝置rac名稱,裝置狀態為表頭的一行資料,多組0,1,2結尾的展示成多行資料。

sql執行如下:

select index_id/

10as nmm, max(case mod(index_id,10) when

0then mon_indexdata.value else

''end

) cluster_name,

max(case mod(index_id,10) when

1then mon_indexdata.value else

''end

) sys_name,

max(case mod(index_id,10) when

2then mon_indexdata.value else

''end

) state

from mon_indexdata where uid =

'110100224

'and index_id>

3010000

group

by index_id/

10

主要規律是通過對10取餘和以inde_id的倒數第二個數字為組進行分組即可。

HIVE縱表變橫表

有這這樣一張表t buy buyer time hongbao asc 使用者id 次序 購買時間 25560 1 1325345254 25560 2 1331043510 25560 3 1331999999 25720 1 1320381121 25720 2 1320461154 25720...

縱表轉橫表sql

縱表結構 fname ftype fvalue 小明 zaocan 10 小明 zhongcan 20 小明 wancan 5 轉換後的表結構 fname zaocan value zhongcan value wancan value 小明 10 20 5 縱表轉橫表sql如下 select fn...

mysql把結果變橫表 mysql 橫表與縱表互轉

一 認識橫表與縱表 橫表就是普通的建表方式,如乙個表結構為 主鍵 欄位1 欄位2 欄位3。如果變成縱表後,則表結構為 主鍵 字段 字段值,字段 則為字段1 欄位2 欄位3。縱表對從資料庫到記憶體的對映效率是有影響的,但細一點說也要一分為二 縱表的初始對映要慢一些 縱表的變更的對映可能要快一些,如果只...