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

MySQL和Hive中的行转列、列转行

水善利万物而不争,处众人之所恶,故几于道💦

文章目录

    • MySQL
      • 1.行转列
      • 2.列转行
    • Hive
      • 1.行转列
      • 2.列转行
        • (1)侧窗
        • (2)union

MySQL

1.行转列

把多行转成列。直接group,sum(if())
在这里插入图片描述
在这里插入图片描述

2.列转行

在这里插入图片描述
在这里插入图片描述

Hive

1.行转列

在这里插入图片描述

select 
	name,
	sum(if(km='shuxue',cj,0)) shuxue,
	sum(if(km='yuwen',cj,0)) yuwen,
	sum(if(km='huaxue',cj,0)) huaxue 
from hzl 
group by name

在这里插入图片描述

2.列转行

(1)侧窗

hive中除了可以用常规的union all 外,还可以用侧窗
在这里插入图片描述

-- 侧窗写法
select 
	name,
	km,
	cj 
from lzh2 
	lateral view 
	explode(map('yuwen',yuwen,'shuxue',shuxue,'huaxue',huaxue)) tmp as km,cj;

在这里插入图片描述

(2)union
-- 常规写法
select name,'shuxue' km,shuxue cj from lzh2 
union all 
select name,'yuwen',yuwen from lzh2 
union all 
select name,'huaxue',huaxue from lzh2;

在这里插入图片描述


http://www.kler.cn/a/468687.html

相关文章:

  • 【HarmonyOS应用开发——ArkTS语言】购物商城的实现【合集】
  • 实际开发中,常见pdf|word|excel等文件的预览和下载
  • 点击主图,触发的是查看产品详情的逻辑
  • 开源平台Kubernetes的优势是什么?
  • IDE和IDEA详解和具体差异
  • 【Uniapp-Vue3】swiper滑块视图容器的用法
  • Nginx——负载均衡与缓存(四/五)
  • 【开源免费】基于SpringBoot+Vue.JS海滨学院班级回忆录系统(JAVA毕业设计)
  • WIN10系统查看连接的无线网密码
  • 【微信小程序获取用户手机号
  • C++23 格式化输出新特性详解: std::print 和 std::println
  • 小E君自助餐厅流量分析
  • UOS 系统 Qt 版本切换
  • Linux 信号(结合系统理解)
  • 小结:DNS,HTTP,SMTP,IMAP,FTP,Telnet,TCP,ARP,ICMP
  • C#设计模式(行为型模式):状态模式
  • web实操9——session
  • 基于傅立叶神经网络(FNN)与物理信息神经网络(PINN)求解泊松方程(附Pytorch源代码)
  • 高等数学学习笔记 ☞ 连续与间断
  • weblogic安装 12.2.1.4.0 单机
  • 工程师了解的Lua语言
  • Python 使用会话 ID 管理多轮对话
  • web应用安全评估报告:会话Cookie未设置Secure属性(如果网站未部署 HTTPS,则无法使用 Secure 属性。)
  • 计算机网络--路由表的更新
  • Verilog语法之模块与端口
  • 基于LightGBM的集成学习算法