Как объединить строки на основе идентификатора,

Использование стандартного 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, я хочу, чтобы это выглядело так:

Как объединить строки на основе идентификатора,

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
0
42
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ниже приведен стандартный SQL BigQuery.

#standardSQL
SELECT id, ARRAY_AGG(STRUCT(key AS key, value AS value)) params
FROM `project.dataset.table`
GROUP BY id  

если применить к вашим образцам данных - результат

Герой, ты снова мне помог, не понял, что мне нужно объединить его со STRUCT, это имеет смысл после прочтения документации. Я провел последнюю неделю, пытаясь изучить стандартный SQL, я бэкэнд-разработчик и скоро буду перемещать команды туда, где мне это нужно. Есть ли ресурсы, которые вы можете предложить?

JoeBoggs 30.05.2019 21:53

Я думаю, BQ doc неплох. продолжайте читать, экспериментировать и спрашивать здесь, если что-то застряло :o)

Mikhail Berlyant 30.05.2019 21:54

Другие вопросы по теме