как установить ограничение на функцию суммы в gbq?

# #google-bigquery

Вопрос:

Мне интересно, есть ли способ ограничить общее суммирование в GBQ? Например, я бы хотел, чтобы функция случайным образом суммировала все записи, пока не наберет в общей сложности 3 000 000.

Спасибо!

Комментарии:

1. просто select 3000000 ? :о)

Ответ №1:

Добавление столбца с суммой всех предыдущих строк. Установите значение where в этой колонке.

 Select * from (
Select x,value,
 sum(value) over (rows BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) as agg_sum
from
(Select  rand() as x, value from unnest(generate_array(1,10000) ) as value
order by x)
)
where agg_sum <30000
 

Комментарии:

1. Спасибо, это именно то, что мне было нужно.