问题描述
我的虚设数据:
| adv_id | dpa_id | json |
| -------| -------|----------------------------------------------|
| 1 | 21 |{'adv_name':'Tesla','product_name':'Model X'}|
| 1 | 21 |{'adv_name':'Tesla','product_name':'Model Y'}|
| 2 | 22 |{'adv_name':'BMW','product_name':'X5'} |
问题是我们的蜂房系统最多只能retrive百万行数据。我需要的JSON绑定在一起成一个更大的,每adv_id,dpa_id组合。下面是我想要的输出:
adv_id 次> | dpa_id 次> | JSON 次> |
---|---|---|
1 | 21 | [{ 'adv_name': '特斯拉', 'PRODUCT_NAME': '模型X'},{ 'adv_name': '特斯拉', 'PRODUCT_NAME': '型号Y'}] |
2 | 22 | [{ 'adv_name': 'BMW', 'PRODUCT_NAME': 'X5'}] |
的值应该如何粘结在一起?提前致谢。
丹尼
解决方法
您可以通过和collect_list
进行分组:
select adv_id,dpa_id,collect_list(json) as json
from table
group by adv_id,dpa_id;