Использование стандартного SQL в bigquery:
Учитывая таблицу, такую как: где значения были подсчитаны, поэтому появляются только один раз
| id | key | value |
--------------------
| 1 | read | aa |
| 1 | read | bb |
| 1 | name | abc |
| 2 | read | bb |
| 2 | read | cc |
| 2 | name | def |
| 2 | value| some |
| 3 | read | aa |
Как я могу сделать так, чтобы каждая строка была одним пользователем и их соответствующими значениями? например ГНЕЗДО
Таким образом, таблица будет выглядеть так:
| id | key | value |
--------------------
| 1 | read | aa |
| | read | bb |
| | name | abc |
| 2 | read | bb |
| | read | cc |
| | name | def |
| | value| some |
| 3 | read | aa |
Я попытался использовать ARRAY_AGG
в столбце, в результате чего были перечислены все значения этого столбца.
Мне просто нужно, чтобы каждая строка была отдельным пользователем с несколькими значениями, как показано выше.
Как и BigQuery, я хочу, чтобы это выглядело так:
Ниже приведен стандартный SQL BigQuery.
#standardSQL
SELECT id, ARRAY_AGG(STRUCT(key AS key, value AS value)) params
FROM `project.dataset.table`
GROUP BY id
если применить к вашим образцам данных - результат
Я думаю, BQ doc неплох. продолжайте читать, экспериментировать и спрашивать здесь, если что-то застряло :o)
Герой, ты снова мне помог, не понял, что мне нужно объединить его со STRUCT, это имеет смысл после прочтения документации. Я провел последнюю неделю, пытаясь изучить стандартный SQL, я бэкэнд-разработчик и скоро буду перемещать команды туда, где мне это нужно. Есть ли ресурсы, которые вы можете предложить?