Hive SQL,如何在 group_concat 中有多个列?
Hive SQL, how to have multiple columns in group_concat?
我有这样的数据:
Customer DUNS Employees
A 1 60
A 2 100
A 3 15
A 4 40
我要的是这个:
Customer NEW CONCAT FIELD
A 1:60, 2:100, 3:15, 4:40
这是我目前的情况:
Select
Customer
,group_concat(cast(DUNS as string)) as DUNS
,group_concat(cast(Employees as string)) as 'Emps'
From MyTable
group by Customer
结果如下:
Customer DUNS EMPS
A 1, 2, 3, 4 60,100,15,40
我真的很难将这些合并到一个领域。我发现 MySQL 语法看起来像我需要的,但它在我的 cloudera/Impala 编辑器中不起作用。
我这辈子都找不到以前做过这件事的地方,但我确信它在某个地方。如何编辑此查询以获得 'NEW CONCAT FIELD'?
首先 concat
第二个和第三个字段并在新字段上使用 collect_list
select Customer,collect_list(duns_employees) as duns_employees_list from
(
select Customer,CONCAT(DUNS,':',Employees) as duns_employees from table
) a
group by Customer;
我有这样的数据:
Customer DUNS Employees
A 1 60
A 2 100
A 3 15
A 4 40
我要的是这个:
Customer NEW CONCAT FIELD
A 1:60, 2:100, 3:15, 4:40
这是我目前的情况:
Select
Customer
,group_concat(cast(DUNS as string)) as DUNS
,group_concat(cast(Employees as string)) as 'Emps'
From MyTable
group by Customer
结果如下:
Customer DUNS EMPS
A 1, 2, 3, 4 60,100,15,40
我真的很难将这些合并到一个领域。我发现 MySQL 语法看起来像我需要的,但它在我的 cloudera/Impala 编辑器中不起作用。
我这辈子都找不到以前做过这件事的地方,但我确信它在某个地方。如何编辑此查询以获得 'NEW CONCAT FIELD'?
首先 concat
第二个和第三个字段并在新字段上使用 collect_list
select Customer,collect_list(duns_employees) as duns_employees_list from
(
select Customer,CONCAT(DUNS,':',Employees) as duns_employees from table
) a
group by Customer;