hive sql 行列轉換

2021-09-07 20:26:04 字數 581 閱讀 1562

-- 對一張大表的每一行,後面加多種label值

-- 其實就是笛卡爾積,舉例

-- select * from dev.dev_jiadian_user_yuge_temp

-- cross join

-- (

-- select 0 as label

-- union all

-- select 1 as label

-- union all

-- select 2 as label

-- )t;

-- 方法二

-- 使用陣列,然後進行轉置操作

-- 注意k是flag別名,必不可少

select *

from

(select *,

array(0,1,2) as flag

from

dev.dev_jiadian_user_yuge_temp

)tlateral view explode(flag)k as label

;--

參考:

hivesql 行列轉換

1.1源表person info name constellation blood type 張三白羊座a李四 射手座a 王五白羊座b趙六 白羊座a 劉七射手座 a1.2需求 把星座和血型一樣的人歸類到一起,如下表 cbtname 射手,a 李四,劉七 白羊,a 張三,趙六 白羊,b 王五1.3函式...

hivesql日期轉換

hivesql 日期轉換 2020 09 08 轉換為20200908 select from unixtime unix timestamp date sub current date,30 yyyy mm dd yyyymmdd select from unixtime 1564581347,y...

mysql行列轉換 mysql行列轉換

1.一維轉二維 上圖為成績表中資料,現希望將資料轉換為下圖。靜態 轉化為二維表後的列名及列數是確定不變的,本例中即course只有數學 語文 英語這三門課。select s name,max if course 數學 score,0 as 數學,max if course 語文 score,0 as...