У меня есть таблица, в которой есть 3 столбца, которые мне нужны: Name
, Id
и ParentId
. Я хотел бы узнать, сколько детей у Id
, что потребует от меня пройти через каждый ряд.
Вот что у меня есть:
CREATE TEMPORARY FUNCTION numChildren(givenId INT64)
RETURNS INT64
AS ((SELECT count(*) FROM `playground.table` WHERE ParentId = givenId));
SELECT numChildren(Id) OVER() as Test FROM `playground.table`
Точная ошибка, которую я получаю: Error: Function USER_DEFINED_FUNCTIONS:NUMCHILDREN does not support an OVER clause at [5:8]
.
Я хочу пройти через каждую строку, передать Id
в функцию и затем вернуть количество строк, которые имеют Id
в качестве ParentId
.
Правильно ли я поступаю? Должен ли я использовать API-интерфейсы для выполнения такого запроса?