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

sql-行转列3(转置)

行转列的常规做法是,group by+sum(if())【或count(if())】

例题

腾讯QQ

假设tableA如表5, tableB如表6,

表5

qq号(字段名:qq)游戏(字段名:game)
10000a
10000b
10000c
20000c
20000d

表6

qq号(字段名:qq)游戏(字段名:game)
10000a_b_c
20000c_d

请写出以下sql逻辑:

a, 将tableA输出为tableB的格式; 【行转列】

b, 将tableB输出为tableA的格式; 【列转行】

create table tableA(qq string, game string) 
insert overwrite table tableA values (10000, 'a'),(10000, 'b'),(10000, 'c'),(20000, 'c'),(20000, 'd');create table tableB(qq string, game string) ;
insert overwrite table tableB values 
(10000, 'a_b_c'),
(20000, 'c_d');

将tableA输出为tableB的格式

select qq,concat_ws('_', collect_list(game)) game
from tableA
group by qq;  

将tableB输出为tableA的格式

select qq,tmp.game
from tableB lateral view explode(split(game, '_')) tmp as game;
http://www.lryc.cn/news/347901.html

相关文章:

  • MATLAB | 最新版MATLAB绘图速查表来啦!!
  • web安全之登录框渗透骚姿势,新思路
  • 无人机+自组网:空地点对点无人机通信解决方案
  • android TV app适配遥控器思路,recycleview选中放大
  • python篇-cmd 执行pip命令失败,但执行pyhon命令正常
  • Redis系列-3 Redis缓存问题
  • 【数据结构】堆(Heap)
  • vue cli 自定义项目架子,vue自定义项目架子,超详细
  • flink cdc,读取datetime类型
  • Kotlin 编译器和工具链:深入解析与实践案例
  • kettle
  • Maven 自动化构建
  • Unicode字符集和UTF编码
  • echarts默认图例(横线+圈圈)
  • Shell脚本的基础和变量
  • VRRP协议-负载分担配置【分别在路由器与交换机上配置】
  • 商务分析方法与工具(十):Python的趣味快捷-公司财务数据最炫酷可视化
  • 思源笔记如何结合群晖WebDav实现云同步数据
  • Electron Forge | 跨平台实战详解(中)
  • stable diffusion教程
  • 音频文件分析-- whisper(python 文档解析提取)
  • Python深度学习基于Tensorflow(3)Tensorflow 构建模型
  • 火爆多年的抖音小店,2024年想要入驻需要什么条件呢?
  • STM32G030C8T6:EEPROM读写实验(I2C通信)
  • 使用Git管理github的代码库-上
  • 经典文献阅读之--D-Map(无需射线投射的高分辨率激光雷达传感器的占据栅格地图)
  • 开源免费的定时任务管理系统:Gocron
  • 从零开始详解OpenCV车道线检测
  • 【Java代码审计】逻辑漏洞篇
  • SSH简介