這裡的行列轉換都是在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...