Это моя структура таблицы:

table schema

Как я могу сгруппировать по bq_category и показать 3 лучших бренда (в соответствии с их количеством продуктов), вложенных в 1 массив?

Например

 1111140     Cai, SKAGEN, ESPRIT 
 1111141     FIRRETTI 
 1111142     SOCOSI, Engelsurfer
1
Shahin Ghannadian 4 Окт 2018 в 19:15

1 ответ

Лучший ответ

Используйте функцию ARRAY_AGG:

SELECT
  bq_category,
  ARRAY_AGG(prodBrand ORDER BY product_count DESC LIMIT 3) AS top_brands
FROM dataset.table
GROUP BY
  bq_category
1
Elliott Brossard 4 Окт 2018 в 16:50