Call Us: US - +1 845 478 5244 | UK - +44 20 7193 7850 | AUS - +61 2 8005 4826

Difference between Structured, Semi-structured and Unstructured data


GroupBy(<RowsCall>, [RowsCall...], limit=<UINT>, filter=<CALL>)


GroupBy returns the count of the intersection of every combination of rows taking one row each from the specified Rows calls. It returns only those combinations for which the count is greater than 0.

The optional filter argument takes any type of Row query (e.g. Row, Union, Intersect, etc.) which will be intersected with each result prior to returning the count. This is analagous to a WHERE clause applied to a relational GROUP BY query.

The optional limit argument limits the number of results returned. The results are ordered, so as long as the data isn’t changing, the same query will return the same result set.

Paging through results is supported by passing the previous argument to each of the Rows calls in the GroupBy. Take the last result from your previous GroupBy query, and pass each row ID in that result as the previous argument to each of the respective Rows queries in your next GroupBy query.

Result Type: Array of “groups”. Each group is an object with a group key and a count key. The count is an integer, and the group is an array of objects which specify the field and row for each row that was intersected to get that result.