-- Disable external aggregation because the state is reset for each new block of data in 'runningAccumulate' function.
SET max_bytes_before_external_group_by = 0;
SET allow_deprecated_error_prone_window_functions = 1;

SELECT grouping,
       item,
       runningAccumulate(state, grouping)
FROM (
      SELECT number % 6 AS grouping,
             number AS item,
             sumState(number) AS state
      FROM (SELECT number FROM system.numbers LIMIT 30)
      GROUP BY grouping, item
      ORDER BY grouping, item
);
