I have to group tuple in a table by some column.
But i need the number of tuple in each group (like "count *" in SQL),
Apparently i can't do it with the "group by" node. Does some one make such a node ?
Secondly why the "group by" node limit the number of column for the use for the grouping operation ?
An other question : It's a limit (theoretical or practical) to the number of row in a table ?
(... sorry it's 3 question in one post :oops: )
Hi, count* is not directly possible with the GroupBy node, you need to duplicate the group column, for example with the Java Snippet node before, in order to select the group-column for grouping and aggregation. But yes, we are thinking about adding this feature to this node which comes also along with selecting multiple (overlapping) columns for grouping and aggregation. Cheers, Thomas
More convenient is probably the "Value Counter" node. Try that one.
As for the table size: The theoretical maximum table size (in terms of rows) is Integer.MAX_VALUE (2^32 - 1), although practically it is limited by available hard-disk space and your patience to wait for the node to finish.
The table implementation is not designed to have many columns (a few thousand are ok, but if you create tables with, say, 30000 columns you will notice an impact).
Thanks for the details
For the node, i need to group by (on many column) and to count, so i will add a empty column and use the "group by" node.
you can count the number of members per group by selecting the count operation for numerical and/or nominal values. This method simply counts the number of members per group. The drawbag of the current implementation is that you need to have least one column to perform the aggregation on which needs to be different from the grouping columns.
For the second question: The group by node has no limitation on the number of columns. The only limitation is the number of unique values per group but only if a method is selected that needs to consider all unique values (e.g. unique concatenate or uniaue count).