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

news/2024/12/23 8:02:58/

 问题复现

查询该表结果为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


http://www.ppmy.cn/news/1512678.html

相关文章

学习使用pymodbus模块实现Modbus通讯

Modbus是一种工业领域广泛使用的通信协议,而PyModbus是一个在Python中实现Modbus通信的库。它支持多种Modbus模式,包括RTU(通过串行线路),ASCII和TCP/IP。 1. 建立通讯 from pymodbus.client import ModbusTcpClient…

synchronized锁状态和底层实现

锁的状态 无锁状态,偏向锁状态,轻量级锁状态,重量级锁状态。锁的状态是通过对象监视器在对象头中的字段来表明的,四种状态会随着竞争的情况逐渐升级。偏向锁、轻量级锁、重量级锁是针对synchronized的状态。 这四种状态都不是 Jav…

开始尝试从0写一个项目--后端(四)

借出,归还,管理 学生和管理员登录分离 学生登录到用户界面 管理员到后台 后台和用户分离 添加代码 sems-server/src/main/java/com/ljc/controller/user/UserStudentController.java package com.ljc.controller.user;import com.ljc.constant.Jwt…

怎么对前端的一些按钮做一个权限校验

在一般情况下,我们需要对一些按钮做一个权限校验,来保证只有有权限的用户才能看到 1.创建一个js文件,来写我们的全局方法 我的方法是这样的 import Vue from vue;Vue.mixin({methods:{hasAuth(perm) {var authority this.$store.state.menu.permList;if (authority.indexOf(…

AI科学家学问世,学术圈会有大动荡吗?

导读: 继ChatGPT等大型语言模型的突破之后,The AI Scientist的诞生更是令人震撼。这个全面自动化的科学研究系统能独立完成从生成研究想法到撰写论文的全过程,或许: 科学家要不存在了。©️【深蓝AI】编译 1. 摘要 通用人工智…

Qt-认识Qt(1)

目录 QT是做什么的? 什么是QT GUI开发的各种技术方案 QT支持的平台 Qt的版本和优点 开发工具概述 Qt是做什么的? Qt是用来干嘛的? 什么是Qt Qt是⼀个跨平台的C图形用户界⾯应用程序框架。它为应用程序开发者提供了建立艺术级图形界⾯所…

20240820模拟面试

20240820 一、 1.C语言中指针数组和数组指针的区别 答:指针数组本质上是一个数组,是一个指针变量的集合,即数组内的元素都是指针变量,类似于二维数组中存储的多个一维数组;数组指针本质是一个指针,是整个…

洛谷 P6280 [USACO20OPEN] Exercise G

题目来源于:洛谷 题目本质:dp,素数筛法,质数 本题与P4161基本一模一样 首先,分析题目发现,某个排列的需要进行恰好 K 步变回原样,这个时候K的值就是这个排序中各个环的长的的最小公倍数(lcm)。…