我们要求收集所有不同横切的值,并显示在“|“分隔,并且对于不可用的商家显示0。
表格_1
| 列1|第2列|第3列|
| - -|- -|- -|
| 小行星129867|支付|四个|
| 小行星18945|支付|五个|
| 小行星129867|付费频道|六个|
| 小行星18945|付费频道|四个|
| 小行星456312|支付|三个|
我们需要读取表1并将其转换为表2,如下所示:
表格_2
| 列1|第2列|
| - -|- -|
| 小行星129857| 4l6|
| 小行星18945| 5l4|
| 小行星456312| 3l 0个|
假设我们有两个商家,即PayTM和PayZAP,如何在Hive中实现这一点。
我试过了:
SELECT col1,
Nvl(Concat_ws('|', Collect_set(col3)), 0) AS col2
FROM table_1
GROUP BY col1;
但我没有得到想要的结果。
1条答案
按热度按时间fslejnso1#
如果您使用sql server,则使用
string_agg
。在Hivesql中,我为您提供了