Hive列轉行 行轉列

2021-10-23 10:45:52 字數 741 閱讀 3722

簡單說一下hive行轉列、列轉行的方式。

這玩意sql,語法它對嗎?就擱這列轉行?浪費時間!

先拿這個資料來實現乙個簡單的行轉列和列轉行

表名就都叫hero吧,英雄屬性(hero_type)、英雄名s(hero_names)、英雄名(hero_name)

行轉列也就是上面的表1到表2。

select

hero_type as "英雄屬性",

hero_name as "英雄名"

from hero

lateral view explode(split(hero_names, ",")) lat as hero_name;

列轉行

也就是上面的表2到表1

select 

hero_type,

concat_ws(",", collect_list(hero_name))

from hero

group by hero_type;

hive函式document:

之後再細細總結吧,先這樣。

列轉行 行轉列

問題 使用case when實現行轉列 解決 1 測試準備 create table studentscores username nvarchar2 20 學生姓名 subject nvarchar2 30 科目 score float 成績 2 準備資料 insert into students...

列轉行,行轉列總結

此函式在oracle版本12g以後廢棄,不可使用 解決方法 列轉行 使用 sys connect by path 函式替代 listagg函式 自從since oracle 9i 開始,就可以通過 sys connect by path 函式實現將從父節點到當前行內容以 path 或者層次元素列表的...

SQL 列轉行 行轉列 的方法

建立表 插入資料 insert into col to row user name,course,score values 張三 語文 58 insert into col to row user name,course,score values 張三 數學 34 insert into col t...