hive sql语言问题,怎么按一列聚合第二列的多个值合并成1个值,再按这个值group by

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hive sql语言问题,怎么按一列聚合第二列的多个值合并成1个值,再按这个值group by相关的知识,希望对你有一定的参考价值。

需求是这样的,原始数据第一列是用户的id,第二列是用户的行为,想按用户有过的行为点,对用户做聚合,并且统计各种行为组合的用户数量

比如下表
x1 y1
x1 y2
x2 y1
x2 y2
x3 y1
通过sql合并成
x1 y1,y2
x2 y1,y2
x3 y1
然后再按新的列group by,结果是
y1,y2 2个
y1 1个

参考技术A --假设表名为tb
select ys, count(*)
from
(
    select x, to_char(wm_concat(y)) ys
    from tb
    group by x  
) w
group by ys
;

本回答被提问者采纳

R语言中怎么把第一列的数据作为行名

read.xlsx(filename,sheet=1,head=T)

如果你的第一行是数据,head=T会让第一列数据就会被强制为变量名,head=F则相反,这个需要xlsx包。

如果已经载入数据,数据名为a,那么使用colnames(a)=a[1,],就可以把a的行名变成a的第一行数据,然后a=a[-1,],删除第一行数据,就可以了。当然如果需要,也可以保留第一行数据。

扩展资料:

注意事项

header=T表示将文件中第一行设为列名字。row.names= 1表示第一列设为行名。

例如:

data = read.csv("test.csv",row.names= 1) #表示第一行作为列名,第一列作为行名

data = read.csv("test.csv",header=F)  #表示读入没有指定行列名的矩阵数据

因此header=T为默认条件,默认条件下没有行名,如果第一列为行名,则需在读入时指定row.names= 1。

R语言读入表格的函数有:

read.table()

read.csv(

read.csv2()

read.delim()

read.delim2()

其中,读入表格常常要考虑行名和列名的显示方式,例如你读入的表格第一行是否为各列的列名,第一列是否为各行的行名等等。

参考技术A

read.xlsx(filename,sheet=1,head=T)

如果第一行是data,则head=T将强制第一列成为变量名,而head=F则需要一个XLSX包。

如果已经加载了数据,并且数据的名称是a,那么使用colnames(a)=a[1,]将a的行名更改为a的第一行,然后a=a[-1,],删除第一行,这样就可以了。当然,如果需要,也可以保留第一行。

扩展资料:

R语言读入表格的函数有:

read.table()

read.csv(

read.csv2()

read.delim()

read.delim2()

在读取表时,通常要考虑行名和列名的显示方式,比如读取的表的第一行是否为每一列的列名,第一列是否为每一行的行名,等等。

注意事项

Header=T表示将文件中的第一行设置为列名。name=1表示将第一列设置为行名称。

例如:

Data=read.csv("test.csv",row.names=1)#表示第一行是列名,第一列是行名

Data=read.csv("test.csv",header=F)#表示在没有指定列和列名的情况下读入的矩阵数据

header=T是默认条件,默认情况下没有行名称,如果第一列是行名称,你需要在输入上指定row.names=1。

参考技术B

read.xlsx(filename,sheet=1,head=T)

如果第一行是数据,head=T会让第一列数据就会被强制为变量名,head=F则相反,这个需要xlsx包。

如果已经载入数据,数据名为a,那么使用colnames(a)=a[1,],就可以把a的行名变成a的第一行数据,然后a=a[-1,],删除第一行数据,就可以了。当然如果需要,也可以保留第一行数据。

扩展资料:

功能

R是一套完整的数据处理、计算和制图软件系统。其功能包括:数据存储和处理系统;数组运算工具(其向量、矩阵运算方面功能尤其强大);完整连贯的统计分析工具;优秀的统计制图功能;简便而强大的编程语言:可操纵数据的输入和输出,可实现分支、循环,用户可自定义功能。

与其说R是一种统计软件,还不如说R是一种数学计算的环境,因为R并不是仅仅提供若干统计程序、使用者只需指定数据库和若干参数便可进行一个统计分析。

R的思想是:它可以提供一些集成的统计工具,但更大量的是它提供各种数学计算、统计计算的函数,从而使使用者能灵活机动的进行数据分析,甚至创造出符合需要的新的统计计算方法。

参考资料来源:百度百科-R语言

参考技术C 1,read.xlsx(filename,sheet=1,head=T),如果你的第一行是数据,head=T会让第一列数据就会被强制为变量名,head=F则相反。这个需要xlsx包。
2,如果已经载入数据,数据名为a,那么使用colnames(a)=a[1,],就可以把a的行名变成a的第一行数据,然后a=a[-1,],删除第一行数据,就可以了。当然如果你需要,也可以保留第一行数据。本回答被提问者采纳
参考技术D rownames(data)=data[,1]

以上是关于hive sql语言问题,怎么按一列聚合第二列的多个值合并成1个值,再按这个值group by的主要内容,如果未能解决你的问题,请参考以下文章

怎样在一条sql语句中将第一列和第二列加和的值作为第三列的值

SQL group by:选择另一列有其最小值/最大值的值

EXCEL如何把第二列的数据按照第一列数据排序,且第二列的数据少于第一列?

EXCEL如何把第二列的数据按照第一列数据排序,第二列的数据少于第一列

将python字典写入CSV列:第一列的键,第二列的值

如何按一列的最大值获取SQL行,按另一列分组