Impala中行转列在合并列

Impala中如何实现将多列转为一行,其实Impala中自带函数可以实现,不用自定义函数。

下面我开始演示:

-bash-4.1$ impala-shell
Starting Impala Shell without Kerberos authentication
Connected to cdha:21000
Server version: impalad version 1.4.2-cdh5 RELEASE (build eac952d4ff674663ec3834778c2b981b252aec78)
Welcome to the Impala shell. Press TAB twice to see a list of available commands.Copyright (c) 2012 Cloudera, Inc. All rights reserved.(Shell build version: Impala Shell v1.4.2-cdh5 (eac952d) built on Tue Sep 16 19:15:40 PDT 2014)
[cdha:21000] > create table student(name string,subject string,score decimal(4,1));    -------------创建演示表:student(脱离学校四年了,还不忘自己是学生^_^)
Query: create table student(name string,subject string,score decimal(4,1))Returned 0 row(s) in 1.97s
[cdha:21000] > insert into student values('xiaoming','math',89.5); ----------------插入演示数据 (小明和花花的学习成绩,他们感情比较好)
Query: insert into student values('xiaoming','math',89.5)
Inserted 1 rows in 2.56s
[cdha:21000] > insert into student values('xiaoming','english',92);
Query: insert into student values('xiaoming','english',92)
Inserted 1 rows in 0.39s
[cdha:21000] > insert into student values('xiaoming','chinese',98);
Query: insert into student values('xiaoming','chinese',98)
Inserted 1 rows in 0.42s
[cdha:21000] > insert into student values('huahua','chinese',80);
Query: insert into student values('huahua','chinese',80)
Inserted 1 rows in 0.40s
[cdha:21000] > insert into student values('huahua','math',89.5);
Query: insert into student values('huahua','math',89.5)
Inserted 1 rows in 0.29s
[cdha:21000] > select * from student;    ----------每次考完试,老师报分数时都很紧张
Query: select * from student
+----------+---------+-------+
| name     | subject | score |
+----------+---------+-------+
| xiaoming | english | 92.0  |
| huahua   | chinese | 80.0  |
| xiaoming | chinese | 98.0  |
| huahua   | math    | 89.5  |
| xiaoming | math    | 89.5  |
+----------+---------+-------+
Returned 5 row(s) in 0.23s[cdha:21000] > select name,group_concat(subject,',') from student group by  name;  ------------小试牛刀,看到了吧,多列拼接到一起了
Query: select name,group_concat(subject,',') from student group by  name
+----------+----------------------------+
| name     | group_concat(subject, ',') |
+----------+----------------------------+
| xiaoming | english,chinese,math       |
| huahua   | chinese,math               |
+----------+----------------------------+
Returned 2 row(s) in 0.38s------------下面演示有价值的示例,显示高手之招,呵呵------------这样就可以在一行上面,看到小明和花花的各科成绩了[cdha:21000] > select name,group_concat(concat_ws('=',subject,cast(score as string)),',') from student group by  name;
Query: select name,group_concat(concat_ws('=',subject,cast(score as string)),',') from student group by  name
+----------+-------------------------------------------------------------------+
| name     | group_concat(concat_ws('=', subject, cast(score as string)), ',') |
+----------+-------------------------------------------------------------------+
| xiaoming | english=92.0,chinese=98.0,math=89.5                               |
| huahua   | chinese=80.0,math=89.5                                            |
+----------+-------------------------------------------------------------------+
Returned 2 row(s) in 0.39s
[cdha:21000] >

Impala中行转列在合并列相关推荐

  1. oracle 查询列合并行,Oracle 查询合并列

    在ORACLE  查询时,有时要将多个列合并成一行,其方法如下: 1. decode 函数 decode 函数的语法为: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省 ...

  2. table html 合并列,html table上下行合并

    colspan 是合并列,rowspan是合并行,合并行的时候,比如rowspan="2",它的下一行tr会少一列:合并列的时候 colspan="2",此行的 ...

  3. elementui table 固定列_elementUI Table组件 如何设置合并列

    效果图: image.png 代码如下: :data="tableData" style="width:200px" :border="true&qu ...

  4. GRIDVIEW多行多列合并单元格(合并列)

    GitHub项目地址:https://github.com/mingceng/merge-gridviewcell 去年的时候,我写了两篇文章:  GridView多行多列合并单元格(完整代码和例子) ...

  5. Excel:有合并列和横排多行的每个单元格数据与首列组合竖排

    需求如图: 左侧表格转为右侧的,注意:有合并列和多行 解决方法: (1)选中(单击)数据表中任意格子,以定位数据来源表格 (2)数据--获取数据--自其他源--自表格/区域 步骤如图: (3) 在弹出 ...

  6. layui框架实现table某一列的合并+冻结(合并列+fixed冻结二者发生冲突)

    1.先实现的合并(百度上有很多),我用的是这个博主的 京兆文鱼博主的:合并列的代码 2.对1中已经完成合并的这一列进行"冻结",我用的是layui框架自带的fixed属性(不知道的 ...

  7. SQL Server 2005合并列成字符串 2008-11-07

    SQL Server 2005合并列成字符串 2008-11-07 如果要将数据中的某一列合并成字符串,形成 A,B,C 这样的格式的话,一般性代码如下 DECLARE @str nvarchar(4 ...

  8. SQL 合并列值和拆分列值

     合并列值表结构,数据如下: view plain id value ----- ------ 1 aa 1 bb 2 aaa 2 bbb 2 ccc 需要得到结果: id values ------ ...

  9. poi 操作 导出excel 合并列

    今天导出excel模板时需要加入标题,原有的方法没有添加标题的功能,只能修改了 // 标题 Row title = sheet.createRow(0); //填充标题内容 this.createCe ...

最新文章

  1. 这几天研究了一下JDK14,发现它处理NPE的方式,真香!
  2. 分享一个多线程实现[冒泡][选择][二分法]排序的例子
  3. mysql 创建视图的时候语法易错点
  4. PostgreSQL 9.6 同步多副本 与 remote_apply事务同步级别 应用场景分析
  5. 我:一个女孩从软件测试工程师到主管的成长
  6. 微软windows10易升_Windows10把软件设置为始终以管理员身份运行(适用于单个软件)...
  7. 使用gensim训练维基百科
  8. 计算机windows7桌面是指什么,认识Windows 7桌面,增加了哪些功能,它是应用程序操作的出发点...
  9. 一个WEB应用的开发流程
  10. 北京圣思园张龙Java教学视频学习笔记1
  11. 业务中台系统架构:大中台+小前台电子商务系统搭建框架思维
  12. android输入法框架分析,Android与iOS输入法开发框架比较谈
  13. 如何理解一台服务器可以绑定多个ip,一个ip可以绑定多个域名
  14. 我们如何建立Schrödinger的div? 与Vue!
  15. 解决HP 3055 一体机与U盘冲突
  16. 【安全资讯】欧盟委员会:公司不得使用面部识别技术评判员工
  17. 做销售,如何开发陌生市场?
  18. 基于灰狼算法优化的Elman神经网络数据预测
  19. RHEL8.0操作系统安装步骤详解
  20. python卸载与扩展包卸载

热门文章

  1. 在datasnap 中使用unidac 访问数据(客户端)
  2. transform 二维转变
  3. Xshell出现要继续使用此程序必须应用到最新的更新或使用新版本
  4. Redis(三)源source编译
  5. 无连续重复的随机算法
  6. 页面前端的水有多深?再议页面开发
  7. javascript ES3小测试
  8. mysql 锁行语句_mysql 锁表锁行语句分享(MySQL事务处理)
  9. Objective-C(9)内存管理之ARC
  10. 三维点云学习(4)5-DBSCNA python 复现-2-kd-_tree加速