mysql炸裂函数(lateral view是MySQL 8.0及以上版本支持)

问题:我想统计用户都有什么爱好

我们有一张表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 

赶快试试吧。多点奇淫技巧傍身

你可能感兴趣的:(mysql,mysql)