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

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

文章目录

MySQL

1.行转列

把多行转成列。直接group,sum(if())

2.列转行


Hive

1.行转列

sql 复制代码
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 外,还可以用侧窗

sql 复制代码
-- 侧窗写法
select 
	name,
	km,
	cj 
from lzh2 
	lateral view 
	explode(map('yuwen',yuwen,'shuxue',shuxue,'huaxue',huaxue)) tmp as km,cj;
(2)union
sql 复制代码
-- 常规写法
select name,'shuxue' km,shuxue cj from lzh2 
union all 
select name,'yuwen',yuwen from lzh2 
union all 
select name,'huaxue',huaxue from lzh2;
相关推荐
一条闲鱼_mytube8 小时前
深入理解 Pinecone 向量数据库:从云服务到索引原理,一篇讲透
数据库
许彰午9 小时前
政务低代码平台实战⑤:双输出模式——存DB与导出JSP的完整链路
数据库·低代码·政务
南京码讯光电技术有限公司9 小时前
What Does Ex tb IIIC T80°C Db Mean?
服务器·网络·数据库
2501_9378609410 小时前
MySQL CRUD 增删改查
数据库·mysql
做萤石二次开发的哈哈10 小时前
萤石蓝海AIoT一站式工作台计费说明
网络·数据库·萤石开放平台·蓝海aiot一站式工作台
竹枝溪10 小时前
MySQL数据库零基础入门
数据库·sql·mysql·navicat·ddl·dml·dql
龙仔72510 小时前
人大金仓Kingbase V8 自动全量备份部署完整笔记
数据库·笔记·备份·人大金仓
王志来1379447300810 小时前
从选型到交付,工控服务器机箱一站式采购平台匀天如何实现服务闭环?
数据库
ShuiShenHuoLe10 小时前
HmarkX(码笺)的本地数据库模块重构实战
数据库·oracle·重构
Databend10 小时前
从 Kafka 到 Databend Cloud:万亿级 Agent Trace 接入链路的工程实践
大数据·数据库·agent