使用 lateral view explode(col1)后行数变少了,bug排查

问题复现

查询该表结果为100行

select count(1) as cnt

from (

select distinct a,b,c

from pageAds

)

查询下表条数为90行

select count(1) as cnt

from (

select distinct a,b,c

from pageAds

)

lateral view explode(split(a,',')) adTable as d

思考:第二条语句只比第一个多一个炸裂函数,炸裂函数的作用是将数据炸开变成多行数据,为什么还会条数变少了呢?

经过各种资料查找,数据探索,发现当字段是空时,不会形成新的一行,而是会把这条数据过滤掉

例如有20条a是空,那如果a都没有被分割,那就会生成80条数据,我这个a有被分割,所以生成了90条数据

注意:以后用这个的时候一定要探索好分割字段,当有空的时候提前把空值处理好,例如提前赋默认值

如下

select count(1) as cnt

from (

select distinct coalesce (case when a='' then ','

else a

end ,

',') as a

,b,c

from pageAds

)

lateral view explode(split(a,',')) adTable as d

相关推荐
2401_8822737212 小时前
HTML怎么创建成就隐藏后恢复_HTML“重新公开”操作入口【详解】
jvm·数据库·python
码农阿豪12 小时前
群晖部署Moodist配内网穿透穿透,把白噪音服务搬到公网上
数据库·spring boot·后端
weixin_4585801213 小时前
如何自定义修改 Traccar Web 界面模板
jvm·数据库·python
m0_5150984213 小时前
如何修改AWR保留时间_将默认8天保留期延长至30天的设置
jvm·数据库·python
银河系的一束光13 小时前
MySQL遇到的问题
数据库·mysql
qq_6543669813 小时前
如何在 macOS 上为 PHP 8.0 正确集成 XML-RPC 支持
jvm·数据库·python
大江东去浪淘尽千古风流人物13 小时前
【UV-SLAM 】彻底吃透UV-SLAM:创新原理、工程实现与直线几何核心代码详解
数据库·人工智能·python·机器学习·oracle·uv
2301_7735536213 小时前
Bootstrap 4.5 实现多级下拉菜单并行展开(不自动关闭其他已开菜单)
jvm·数据库·python
Greyson113 小时前
MySQL怎样在触发器中引用新旧数据行_NEW与OLD关键字详解
jvm·数据库·python
m0_7436239213 小时前
Vue 3 中集成 Three.js 场景的完整实现指南
jvm·数据库·python