我有如下数据:
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”?
答案 0 :(得分:1)
首先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;