数据场景练习

news2024/12/24 4:01:16

1 行列转换

(1) 列拆分为多行

         把指定字段按指定分隔符进行拆分为多行,然后其它字段直接复制.

select
     字段列
    ,hobby2
from tbl
-- lateral view udtf(expression) tablealias as columnalias (‘,’ columnalias)
lateral view explode(split(hobby,';')) temp as hobby2

(2) 行扁平化

        把同一组的多行数据合并成为一行.

select 
  id, 
  name, 
  age, 
  split(concat_ws(':',collect_list(hobby)),':')[0] as hobby1,
  split(concat_ws(':',collect_list(hobby)),':')[1] as hobby2,
  split(concat_ws(':',collect_list(hobby)),':')[2] as hobby3
from tbl
group by id, name, age;

(3) 列转行

        如果数据一列有相同的值,按照指定的字段,将其中一列的字段内容变成不同的列,然后把多行数据转换为一行数据.

select
    name
   ,max(if(wek = '周一',work_hour,0)) as mon
   ,max(if(wek = '周二',work_hour,0)) as tue
   ,max(if(wek = '周三',work_hour,0)) as wed
   ,max(if(wek = '周四',work_hour,0)) as thu
   ,max(if(wek = '周五',work_hour,0)) as fi
   ,max(if(wek = '周六',work_hour,0)) as sat
   ,max(if(wek = '周日',work_hour,0)) as sun
from tbl
group by name

(4) 行转列

        把数据字段的字段名转换为一列,把数据行变为数据列.

select name, 'mon' as wek, mon as work_hour from tbl
union all
select name, 'tue' as wek, tue as work_hour from tbl
union all
select name, 'wed' as wek, wed as work_hour from tbl
union all
select name, 'thu' as wek, thu as work_hour from tbl
union all
select name, 'fri' as wek, fri as work_hour from tbl
union all
select name, 'sat' as wek, sat as work_hour from tbl
union all
select name, 'sun' as wek, sun as work_hour from tbl

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2124324.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uniapp小程序,使用腾讯地图获取定位

本篇文章分享一下在实际开发小程序时遇到的需要获取用户当前位置的问题,在小程序开发过程中经常使用到获取定位功能。uniapp官方也提供了相应的API供我们使用。 官网地址:uni.getLocation(OBJECT)) 官网获取位置的详细介绍这里就不再讲述了,大…

区块链的可伸缩性以及面临的挑战

1. 可伸缩性 在过去的几年中,可伸缩性(Scalability,也称为可扩展性) 问题一直是激烈辩论、严格研究和媒体关注的焦点。 这是一个至关重要的问题,因为它可能意味着区块链不适于广泛应用,而仅限于联盟许可的私有网络。在经过对该领域…

C++设计模式——Mediator中介者模式

一,中介者模式的定义 中介者模式是一种行为型设计模式。它通过一个中介者对象将多个对象之间的交互关系进行封装,使得对象之间的交互需要通过中介者对象来完成。该设计模式的结构很容易理解,以中介者为中心。 中介者模式的设计思想侧重于在…

遗传算法与深度学习实战(12)——粒子群优化详解与实现

遗传算法与深度学习实战(12)——粒子群优化详解与实现 0. 前言1. 粒子群优化1.1 粒子群优化原理1.2 算法流程 2. 实现 PSO 解决方程2.1 问题描述2.2 代码实现 小结系列链接 0. 前言 粒子群优化 (Particle Swarm Optimization, PSO) 是一种借鉴适者生存和…

医疗行业怎么节约和管理能源

医院建筑能耗平台 医院智能照明平台 医院能源综合管理平台 目前,能源短缺已成为一个全球性问题。在建筑业的发展中,建筑电气照明系统的节能水平与中国的能源利用率有关。照明系统中的低功率因数和高电压波动将导致较大的功率损失。因此,要认…

计算机网络——ARP篇(二)

上一次学习了ARP的基本概念,ARP缓存,ARP类型,以及ARP协议在网络中是如何工作的。这一次,我又深入的了解了ARP协议的工作原理,下面是我的学习笔记: 在学习之前,首先提出三个问题:ARP协…

BizDevOps落地实践

我理解BizDevOps就是端到端,从战略业务机会到开发上线 参考资料 十六年所思所感,聊聊这些年我所经历的 DevOps 系统 必致(BizDevOps)白皮书2022免费下载_在线阅读_藏经阁-阿里云开发者社区 具体落地实践 战略规划 战略&…

C#使用TCP-S7协议读写西门子PLC(一)

之前本人发布西门子S7协议的报文 西门子PLC的S7协议报文解析说明_西门子报文详解-CSDN博客 西门子PLC的S7协议是西门子公司在ModbusTcp协议的基础上自定义的一种协议,仅支持西门子PLC,S7协议本质仍然属于TCP协议的一种自定义具体实现 第一步,准备工作。VS2022中新建窗体应…

动态规划及其MATLAB实现

目录 引言 动态规划的基本原理 动态规划的常见应用 动态规划的求解步骤 动态规划的复杂度分析 表格总结:动态规划常见问题及其复杂度 结论 引言 动态规划(Dynamic Programming, DP)是一种求解最优化问题的有效方法,特别适合…

华为 HCIP-Datacom H12-821 题库 (16)

1.需要题库的小伙伴至博客最下方添加微信公众号关注后回复题库 2.有兴趣交流IT问题的小伙伴微信公众号回复交流群,加入微信IT交流群 1. OSPF 邻居关系建立出现故障,通过 display ospf error 命令来检查,输出结果如图所示,根据图中…

从零开始配置 TypeScript 项目

ESLint 配置 从背景的介绍中可以理解,对于全新的 TypeScript 项目(直接抛弃 TSLint)需要包含解析 AST 的解析器 typescript-eslint/parser 和使用校验规则的插件 typescript-eslint/eslint-plugin,这里需要在项目中进行安装&…

CentOS 安装Squid代理

环境: 华为云服务器一台:123.60.53.69,放行3128端口 Windows 11 电脑:动态IP 需求: 客户端电脑通过华为云服务器实现代理上网 一、服务器设置 1、安装 yum install squid httpd-tools -y 2、创建用户&#x…

word文档转换为PPT文档最佳方案

目前,笔者发现word文档转换为ppt最好的解决方案。 注:目前AI生成PPT,一般是给定一个标题,直接生成PPT文档内容,属于AI原创;另外,还有一些在线编辑、生成PPT工具,需要付费&#xff0c…

MySQL数据库SQL语句和常用函数大全

前言 MySQL 8数据库提供了丰富的SQL语句操作功能以及一系列高级特性,这些功能使得数据库的管理、查询、更新和维护变得更加高效和灵活。以下是对MySQL 8数据库SQL语句操作大全及高级特性的详细概述: 一、SQL语句操作大全 1. 数据定义语言&#xff08…

【雅特力AT32】 MCU CAN入门指南(超详细)

通信协议与接口知识参考文章: 【通信理论知识】数据传送的方式:串/并行;传输方向:单工、半/全双工;传输方式:同步/异步 【串口通信详解】USART/UART、RS232、RS485标准接口与协议特点解析 【同步串行通信接…

重拾精髓:go doc -http让离线包文档浏览更便捷

Go语言团队近期接受了Go团队成员、Go圣经《The Go Programming Language[1]》合著者Alan Donovan[2]的新提案[3],旨在进一步提升开发者体验。这个提案为go doc命令[4]的离线文档展示形式,同时增强了查看本地文档的交叉引用功能。看到这个提案功能&#x…

重装电脑系统时硬盘被重新分区:数据恢复实战指南与深度解析

在数字化时代的浪潮中,电脑作为我们日常生活和工作的核心工具,其系统的稳定性与数据的完整性至关重要。然而,在追求系统性能优化或解决系统故障的过程中,重装电脑系统成为了一个常见的操作。不幸的是,这一过程中若不慎…

PB9一个运行时错误:Non-array expected in ANY Variable

反编译修改一个项目。遇到这个问题。 仿佛一看,这是一个莫名其妙的问题,在百度也只搜到一个类似问题。 但是定睛一看,是一个很奇怪的错误,就是说代码自己写错了 for i 1 to uo_1.is_arr ls_arrstr uo_1.is_arr[i] ... next …

掌握 JavaScript ES6+:现代编程技巧与模块化实践

掌握 JavaScript ES6:现代编程技巧与模块化实践 一 . 变量声明 let二 . 声明常量 const三 . 模板字符串四 . 函数的参数默认值五 . 箭头函数六 . 对象初始化七 . 解构7.1 接收 JSON 对象7.2 接收数组 八 . 延展操作符九 . 导入和导出9.1 方式一9.2 方式二 这篇文章我…

校篮球联赛系统小程序的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,公告管理,基础数据管理,球队管理,球员管理,赛事信息管理,用户管理,轮播图信息 微信端账号功能包括&#…