GROUP BY содержимое столбца типа json в Postgresql

Ответ действительно зависит от типа ваших столбцов. В моем случае у меня были datetime и timedelta.

> df[['Date','Time']].dtypes
Date     datetime64[ns]
Time    timedelta64[ns]

Если это ваш случай, вам просто нужно добавить столбцы:

> df['Date'] + df['Time']
1
задан Kurt Kline 6 March 2019 в 11:11
поделиться

1 ответ

На самом деле похож на ответ @Scoots, но без сортировки, окна, также:

SELECT (
    SELECT jsonb_agg(items order by items)
    FROM jsonb_array_elements(food) AS items
    ) AS food,
    count(*)
FROM test_json_grouping
GROUP BY 1;

... объяснил:

                                              QUERY PLAN                                              
------------------------------------------------------------------------------------------------------
 HashAggregate  (cost=1635.60..1890.60 rows=200 width=40)
   Group Key: (SubPlan 1)
   ->  Seq Scan on test_json_grouping  (cost=0.00..1629.25 rows=1270 width=32)
         SubPlan 1
           ->  Aggregate  (cost=1.25..1.26 rows=1 width=32)
                 ->  Function Scan on jsonb_array_elements items  (cost=0.00..1.00 rows=100 width=32)
(6 rows)

Результат:

[112 ]
0
ответ дан Ancoron 6 March 2019 в 11:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: