0

我有一个包含两个字段的表:provider其中location一个 json 列,我cord从中从 json 中提取对象。

我想按提供者汇总(计数)绳索。

询问:

SELECT_provider  ,array_to_json(array_agg(location->'cord'))
FROM charging 
GROUP BY provider 
ORDER BY provider

我的查询结果

provider1   [[45, -122],[52, -122.1] [51, -122.1]
provider2   [[45, -122],[53, -122.2]

我想看看

provider    #cord
charger1      3
charger2      2
4

1 回答 1

0

利用

     Select  provider, 
         strpos(in, ']' , -1) - 
        strpos(in, '], ' ) as op from
        (SELECT provider  
         ,array_to_json(array_agg(location- 
          >'cord')) as in) 
           FROM charging 
          GROUP BY provider) 
于 2020-04-21T15:04:41.120 回答