当前位置: 首页 > news >正文

房地产公司的网站建设方案云主机重装系统后网站重新部署吗

房地产公司的网站建设方案,云主机重装系统后网站重新部署吗,建设大型网站制作品牌,公司名称大全及寓意参考文章: HiveSql一天一个小技巧:如何不使用union all 进行列转行_不 union all-CSDN博客文章浏览阅读881次,点赞5次,收藏10次。本文给出一种不使用传统UNION ALL方法进行 行转列的方法,其中方法一采用了concat_wsposexplode()方…

参考文章:

HiveSql一天一个小技巧:如何不使用union all 进行列转行_不 union all-CSDN博客文章浏览阅读881次,点赞5次,收藏10次。本文给出一种不使用传统UNION ALL方法进行 行转列的方法,其中方法一采用了concat_ws+posexplode()方法,利用posexplode的位置索引实现key-value之间的一一对应,方法二采用explode()+case when的方法,利用case when 进行转换实现key-value之间的一一对应。_不 union allhttps://blog.csdn.net/godlovedaniel/article/details/125019658  列转行(UDTF函数:炸裂:一进多出)

0  需求分析

    

1 数据准备

create table if not exists table22
(id      int comment '用户id',name    string comment '姓名',age     string comment '年纪',gender  string comment '性别');
insert overwrite table table22
values (1, 'mimi','11','0'),(2, 'geg','32','1');

2 数据分析

 方式一:使用union all 的方式行转列

selectid,'name' as type,name   as value
from table22
union all
selectid,'age' as type,age   as value
from table22
union all
selectid,'gender' as type,gender   as value
from table22
order by id;

ps: 使用union all 方式需要注意:上下两段逻辑,对应字段的类型要一致,字段名称也必须一致

方式二:不使用union all 方法,采用 concat_ws() + posexplode()方法,利用pos的位置索引进行一一对应。(where pos1 = pos2)

完整的代码如下:

selectid,type,value
from (selectt1.id,tmp1.pos1,tmp1.item1 as value,tmp2.pos2,tmp2.item2 as typefrom (selectid,concat_ws(',', name, age, gender) as value,array('name', 'age', 'gender')    as typefrom table22) t1lateral view posexplode(split(value, ',')) tmp1 as pos1, item1lateral view posexplode(type) tmp2 as pos2, item2) t2
where pos1 = pos2;

上述的SQL简化如下:

selectid,item2 as type,item1 as value
from table22lateral view posexplode(split(concat_ws(',', name, age, gender), ',')) tmp1 as pos1, item1lateral view posexplode(array('name', 'age', 'gender')) tmp2 as pos2, item2
where tmp1.pos1 = tmp2.pos2;

    explode及posexolode炸裂函数的详细用法见文章:

HiveSQL题——炸裂函数(explode/posexplode)_hive exolode-CSDN博客文章浏览阅读1.2k次,点赞28次,收藏13次。HiveSQL题——炸裂函数(explode/posexplode)_hive exolodehttps://blog.csdn.net/SHWAITME/article/details/135941286?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170753932316800192292655%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=170753932316800192292655&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-2-135941286-null-null.nonecase&utm_term=%E7%82%B8%E8%A3%82%E5%93%88%E6%95%B0&spm=1018.2226.3001.4450

方式三:采用explode() + case when 方法,先用array()函数将字段封装,再利用case when与字段值进行匹配。

selectid,tmp1.type,case tmp1.typewhen 'name' then namewhen 'age' then agewhen 'gender' then genderelse null end as value
from table22lateral view explode(array('name', 'age', 'gender')) tmp1 as type

3 小结

   上述案例采用了多种【行转列】的方法,除了常规的union all 上下拼接,还可以利用 concat_ws + posexplode() 结合方式,利用炸裂函数posexplode的下角标pos来实现pos -value的一一对应; 另外还可以利用 explode()+ case when结合方式,用case when进行条件判断,一一匹配。

http://www.yayakq.cn/news/909831/

相关文章:

  • 福州网站建设金森wordpress调用标签软件
  • 网站开发语言为网站建设培训深圳
  • 能打开的a站com域名注册优惠
  • 进一步加强网站内容建设怎么做跟别人一样的网站
  • 网站设计与制作合同wordpress 文件夹名称
  • 网站建设_制作_设计wordpress 访问空白
  • 网站图片导入wordpress商标注册查询是否有人注册了怎么查
  • 珠海网站建设方案开发淘宝网页版电脑版登录淘宝网
  • 云南营销型网站做那个网站大全
  • 域名注册查询站长工具东营网站制作团队
  • 如何在电脑上建网站做暖暖视频网站有哪些
  • 建设企业网站专业服务遵义网站建设价格
  • 沧州企业网站制作的华为公司网站建设受众是
  • 石家庄做网站建国际网站需要多少钱
  • 网站面包屑导航网站开发软件怎么做
  • 百度推广自己做网站poedit2 汉化wordpress
  • 周口网站制作哪家好软件开发流程五个步骤
  • 国内有什么网站手机网站开发要哪些人
  • 网站后台用户管理系统昆明网站建设怎么样
  • 建设网站需要注册证书吗网站制作说明
  • 直播网站开发框架商业网站怎么建设
  • 河南省百城建设提质工程官网网站防伪查询网站
  • 手机网站建设设计微信小程序界面设计模板
  • 都江堰市网站建设信息平台网站模板
  • 菜鸟学做网站的步骤二手车网站软件建设
  • 网站开发的实训报告增城移动网站建设
  • 网站开发 案例详解如何创建网页模板
  • 老薛主机做多个网站wordpress创建单页
  • 廊坊网站建设兼职WordPress防伪证书插件
  • 建设网站的网站江苏京东网站设计分析