Как вычислить проценты в BigQuery SQL для SUM? - PullRequest
0 голосов
/ 25 мая 2020

Мне нужно вычислить процентное соотношение указанного c столбца в таблице, вот пример

Food              Quantity
Lemon                2
Mango                8
SweetJuice           10
Water                20

Я хочу получить такую ​​таблицу:

Food              Quantity_pc
Lemon                5
Mango                20
SweetJuice           25
Water                50

Обратите внимание, что этот результат не сгруппирован, и я просто добавил этот пример, чтобы упростить проблему. Вот что я пытаюсь сделать:

Select Food, (Quantity/Sum(Quantity))*100 as Quantity_pc
From `FoodTable`;

Но это вызывает у меня эту ошибку:

ошибка bigquery: 400 SELECT выражение списка ссылается на столбец Решение, которое не сгруппировано и не агрегировано

1 Ответ

1 голос
/ 25 мая 2020

Вам нужны оконные функции:

select food, quantity * 100 / sum(quantity) over () as quantity_percent
from `foodtable`;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...