赞
踩
11、行转列(行是水平、列是垂直 )
(行是从左往右,列是从前往后)
数据: t4表:
id tag flag a b 2 a b 1 a b 3 c d 6 c d 8 c d 8
编写sql实现如下结果:
id tag flag a b 1|2|3 c d 6|8
create table t4( id string, tag string, flag int ) row format delimited fields terminated by ' ' ; load data local inpath './hivedata/t4.txt' overwrite into table t4;
分析: 行转列就是从左完网右的数据变成从前往后 行:水平 列:垂直 思想:就是建立一张虚表,临时存储 select id,tag, concat_ws("|",collect_set(cast(flag as string))) from t4 group by id,tag; result: a b 2|1|3 c d 6|8
12、列转行(垂直转水平)
数据: t5表
uid name tags 1 goudan chihuo,huaci 2 mazi sleep 3 laotie paly
编写sql实现如下结果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。