Я хочу суммировать столбец до тех пор, пока не будет достигнуто отрицательное значение, а затем снова начать суммировать в Google BQ

# #sql #google-bigquery

Вопрос:

ID Количество
азбука 1
азбука 1
азбука -1
азбука -1
xyz 1
xyz -1

выход:

ID сумма(количество)
азбука 2
xyz 1

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

1. Всегда ли количество /- 1? таблицы SQL представляют собой неупорядоченные наборы, и ваш вопрос, по-видимому, предполагает предварительный заказ. Как это определяется?

Ответ №1:

Исходя из ожидаемого результата, которым вы поделились, кажется, что вы суммируете только положительные значения. Вы можете попробовать следующий подход.

 SELECT
     ID,
     SUM(
         CASE
             WHEN quantity > 0 THEN quantity 
             ELSE 0 
         END
     )
FROM
    my_table
GROUP BY
    ID
 

Дайте мне знать, если это сработает для вас. Если нет, пожалуйста, предоставьте больше выборочных данных и результатов.