Mysql Hive 通用的行列转换

就是简单的一个字符串拼接,意义和所用场景自己体会下

insert into table agent_library1 select concat_ws(‘:‘,collect_set(name)) as name,contact,concat_ws(‘:‘,collect_set(company)) as company,concat_ws(‘:‘,collect_set(stores))as stores,concat_ws(‘:‘,collect_set(city)) as city,concat_ws(‘:‘,collect_set(street)) as street from
(select name,company,city,concat_ws(‘:‘,collect_set(contact)) as contact,concat_ws(‘:‘,collect_set(stores))as stores,concat_ws(‘:‘,collect_set(street)) as street from agent_character1 group by name,company,city)a group by a.contact;
时间: 2024-10-12 12:07:55

Mysql Hive 通用的行列转换的相关文章

Mysql实现行列转换

前言: 最近又玩起了sql语句,想着想着便给自己出了一道题目:“行列转换”.起初瞎折腾了不少时间也上网参考了一些博文,不过大多数是采用oracle数据库当中的一些便捷函数进行处理,比如”pivot”.那么,在Mysql环境下如何处理? 自己举了个小例子: sql代码实现: 1 -- Step1:建表并插入数据 2 3 -- Step2:中间转换,即“二维转一维”得到一维表. 4 5 -- Step3:利用IF判断并“group by”即可得到目标结果表. 6 7 8 9 -- 加载 10 11

Hive中行列转换

1.演示多列转为单行 数据文件及内容: student.txt xiaoming|english|92.0 xiaoming|chinese|98.0 xiaoming|math|89.5 huahua|chinese|80.0 huahua|math|89.5 创建表studnet: create table student(name string,subject string,score decimal(4,1)) row format delimited fields terminated

SQL行列转换6种方法

在进行报表开发时,很多时候会遇到行列转换操作,很对开发人员针对于SQL级别行列转换操作一直不甚理解,今天正好抽空对其进行了一些简单的总结.这里主要列举3种可以实现SQL行列转换的方法,包括通用SQL解法以及Oracle支持解法. 一.测试数据 测试表依旧采用Oracle经典的scott模式下的dept表和emp表,结构如下: DEPT: create table DEPT ( DEPTNO NUMBER(2) not null, DNAME VARCHAR2(14), LOC VARCHAR2(

简单的叙述下SQL中行列转换的小知识!

行列转换对于工作还是学习中总是不可避免的会遇到(虽然本人还尚未工作,萌萌哒的学生一枚),解决的方法也有很多,我这里就总结一下我所想解决的问题以及怎么去解决的方法, 可能网上已经有很多类似的方法了,有的比我的可能会更好,就当我记录一下自己的学习经历吧.这里我们列举一个关于股票的每日入账出账做一个统计然后整理数据,虽然例子可能不太合理, 但是不要太执着于这些细节,能说明问题就好,傻笑ing..... 1 列转行:按照某一列分组,将另一列作为行时列名可数,不变. 什么意思呢?话说多了反而不懂,放两张图

一道面试题引发的数据库行列转换实践

问题场景 最近有个朋友去面试,问了我一道面试题.题目如下,在形如下面的数据库表score中,找出每门成绩(grade)都大于等于80分的学生姓名. ---------------------------------------- name     | course  | grade ---------------------------------------- zhangsan  | Java  | 70 ---------------------------------------- zha

C#操作SqlServer MySql Oracle通用帮助类

C#操作SqlServer MySql Oracle通用帮助类 [前言] 作为一款成熟的面向对象高级编程语言,C#在ADO.Net的支持上已然是做的很成熟,我们可以方便地调用ADO.Net操作各类关系型数据库,在使用了多年的Sql_Helper_DG后,由于项目需要,于是乎,就准备写一个Mysql_Helper在实现过程中,发现ADO.Net封装之完善,以及面向对象的封装.继承.多态,有了这些特性,何不把数据库操作封装成为一个通用的类呢,此文由此铺展而来... [实现功能] 这篇文章将要介绍的主

EXCEL实现行列转换

一.说明 exce中有个不常用的功能,PQ(Power Query)中可以实现行列转换. sql server也可以实现行列转换,但是mysql却没有这个功能,或者说需要极多的代码. 二.excel操作 2.1 必须转化为表格形式.否则无法操作. 2.2 进入到Poer Query 二.操作PQ 2.1 逆透视列 2.2 完成行列转换 原文地址:https://www.cnblogs.com/qianslup/p/12397365.html

如何用Pivot实现行列转换

在Oracle中,如果要实现行列转换,较为常见的是用DECODE和CASE语句.对于简单的行列转行,DECODE和CASE语句尚能应付.在逻辑比较复杂,分组聚合较多的场景中,DECODE和CASE语句则力有不逮.而pivot则可完美解决这一切. 首先,我们来看看Oracle对于其的解释: 可见,pivot是数据仓库中的关键技术,它利用交叉查询(crosstabulation query)将行转换为列. 基本语法如下: SELECT .... FROM <table-expr> PIVOT (

在Sqlserver下巧用行列转换日期的数据统计

在Sqlserver下巧用行列转换日期的数据统计 前言 在SQLSERVER 中有很多统计函数的基础语法,有使用Group By 或 partition by 后配合Sum,Count(*) 等用法.常应用于统计网站的PV流量.合同项目中月收入等业务场景中.在文中我分享下最近做过的统计小案例,和大家互相学习下:) 背景 合同中行项目按月收入的统计 1.业务逻辑及需求  1.1 表业务逻辑 合同是公司间互相签署的法律契约,一份合同从诞生起,就开始流转于公司的各个部门,最核心的还是盈亏的数值.盈亏是