Sql presto語法) 實現行轉列和列轉行

2021-10-01 13:53:42 字數 905 閱讀 6685

這裡的行列轉換都是在presto語法下可編譯實現(hive、sql會有一些差別)

sql語句:資料行轉列(表a-to-表b)和列轉行(表b-to-表a)

1.行轉列(sql語句)

select country,

sum(case when cnt_cut = 『(0,20]『then cnt else 0 end) as one,

sum(case when cnt_cut = 『(20,600]』then cnt else 0 end) as two,

sum(case when cnt_cut =』(600,++]』then cnt else 0 end) as three

from a

group by country

result: 表b

2.列轉行(sql語句)

select b1.country,b2.cut,b2.cnt from b as b1

cross join unnest(

array[『one』,』two』,』three』],

array[one,two,three]

) b2 (cut,cnt)

result : 表a

說明:這兩個行轉列和列轉行都是 presto實現,親自測試正確

Excel 怎樣實現行列轉置

有時候,我們為了某些需要,必須把工作表的行列進行轉置的方式顯示。重新輸入很浪費時間,怎樣簡單的實現轉置呢,強大的excel2007提供了此項功能,具體怎麼做,下面看我來演示一下。如圖所示,選中要進行行列轉置的單元格區域。選擇 開始 選項卡,在 剪貼簿 組中單擊 複製 圖示。步驟閱讀 在工作表中選中目...

JTable 實現行標題

引言 在乙個免費的erp系統的開發過程中,存在這樣的需求,需要用jtable的方式定義乙個報表模板,這個模板要能夠支援公式,在後台的業務出來中,會根據公式算出實際的值,然後在添回模板中,變成報表。如下圖,就是一張負責資產表的報表模板 而最終生成的資料如下 在圖一,我們可以看到17行是公式是 c3 c...

SQL實現行轉列

需求 用sql實現行轉列。如下圖所示 行顯示的資料轉換成列顯示 實現行轉列的sql指令碼如下 select date format last day date format now y m d y m d as 業務日期,max case index code when ind20101001 th...