zu beseitigen relativ schwer sum(case when ...)
- Sie countif
wie im folgenden Beispiel
#standardSQL
SELECT *, COUNTIF(condition) OVER(ORDER BY pos) AS groupid
FROM `yourTable`
Sie dies mit Ihrer Dummy-Daten wie in unten spielen können, verwenden können.
#standardSQL
WITH `yourTable` AS (
SELECT TRUE AS condition, 1 AS `group`, 1 AS pos UNION ALL
SELECT FALSE, 1, 2 UNION ALL
SELECT FALSE, 1, 3 UNION ALL
SELECT TRUE, 2, 4 UNION ALL
SELECT FALSE, 2, 5 UNION ALL
SELECT FALSE, 2, 6 UNION ALL
SELECT FALSE, 2, 7 UNION ALL
SELECT TRUE, 3, 8 UNION ALL
SELECT FALSE, 3, 9 UNION ALL
SELECT TRUE, 4, 10 UNION ALL
SELECT TRUE, 5, 11 UNION ALL
SELECT FALSE, 5, 12 UNION ALL
SELECT FALSE, 5, 13 UNION ALL
SELECT FALSE, 5, 14
)
SELECT *, COUNTIF(condition) OVER(ORDER BY pos) AS groupid
FROM `yourTable`
Großartig, danke :) – apkdsmith