hive之實現列轉行
樣例:
select * from tab1 limit 10;
結果:
id num
a 1
a 2
a 3
b 4
b 3
·····
現在想實現把id一樣的數據在一條數據中展現。
結果示例:
a 1 2 3
b 4 3
實現方案有多種,在Oracle中LISTAGG函數可以滿足,excel中轉置可以實現,
數據量不大的話,sql寫的複雜些亦可以實現。
在hive中可以參照以下sql來實現:
select max(a.id),
concat_ws('\t',collect_set(a.num)) as result
from tab1 a
結果:
a 1 2 3
b 4 3
僅供參考!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章