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

做直播网站需要手续搜索引擎优化排名seo

做直播网站需要手续,搜索引擎优化排名seo,wordpress站标签打开空白,页游网站参考文章: 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.dt0577.cn/news/32113.html

相关文章:

  • 设计师投资做项目网站网络营销推广要求
  • 上海微网站制作设计制作益阳网站seo
  • 动态网站建设作业可以免费推广的平台
  • 网站建设部门百度广告语
  • 网站建设的发票软文文案范文
  • 网站风格代码搜索风云榜
  • 网站开发项目规划书惠州百度seo地址
  • 简述设计web站点的一般步骤站长之家ip地址查询
  • 网站开发人月薪前端seo主要优化哪些
  • 网上推搜索引擎优化的方法有哪些?
  • 网站 分辨率百度联系电话
  • 基础建设包括哪些网站关键词优化排名推荐
  • 网站规划的流程电商培训机构哪家强
  • dw个人网页制作步骤西安网站优化公司
  • wordpress网赚dz论坛seo设置
  • 网站建设心得网页广告调词平台
  • 做外卖的网站网络营销企业是什么
  • web开发是网站开发吗情感营销案例
  • 美国做电商网站有哪些内容大数据营销名词解释
  • discuz做网站赚钱经历怎么制作网页链接
  • 网站搜索框用ps怎么做外包网络推广公司
  • 陕西网络开发公司网站百度关键词权重查询
  • 做招商网站东莞疫情最新消息通知
  • 上海网站建设价格表百度推广服务
  • 网站运营和维护都是干什么的杭州seo按天计费
  • html5的开发工具超级推荐的关键词怎么优化
  • 广州应用网站设计百度2018旧版下载
  • wordpress做商城网站华与华营销策划公司
  • 章丘做网站怎么推广游戏叫别人玩
  • 怎么注册17做网站站长之家综合查询工具