问题:我想统计用户都有什么爱好
我们有一张表user_like_eat记录了用户喜欢吃的东西, select distinct like from user_like_eat;这个肯定不行。其中包含了逗号。
uid | like |
1 | 香蕉,黄瓜,冬瓜 |
2 | 香蕉,冬瓜 |
变成如下表是否好统计呢
uid | likeone |
1 | 香蕉 |
1 | 黄瓜 |
1 | 冬瓜 |
2 | 香蕉 |
2 | 冬瓜 |
select distinct likeone from user_like_eat
这个时候我们可以使用炸裂函数lateral view explode(split(字段,','))
用法如下:
select uid,like,likeone
from user_like_eat
lateral view explode(split(kw1,',')) r1 AS likeone
赶快试试吧。多点奇淫技巧傍身