GROUP BY keyword
The keyword can be written in capital or small letters, but not mixed. Using capital letters refers to a reserved keyword. The BY keyword is optional. The keyword required a category list as parameter. In order to refer to the grouping function from within an operation path, the GROUP (or group) keyword should be used without succeeding BY.
In contrast to the Aggregate () operation, group by allows defining ad hoc groupings, but only one. In order to define hierarchical, one has to call aggregate or one needs to define an aggregation schema.
_group_by := _group [_by]
_group := 'group' | __group
__group :: 'GROUP'
_by := 'by' | __by
__by :: 'BY'