I often find myself needing the first or the last row of groups of rows. As far as I can tell there are currently two ways of doing this: use a Group Loop and a Row Filter inside the loop to filter the first or last row (slow), or use a GroupBy node and specify “First” or “Last” for every column or type (awkward and easy to make mistakes in case of missing values, and the rowid is lost).
I suggest a Group-based Row Filter node, where you can indicate to filter the first or the last row of every group. Possible additional features could be the middle row(s), or random row(s) of every group, and a Row Splitter based on the same idea.
I would add to this to be able to use aggregators - e.g. the row of each group with the min/max value - I do this so often with a groupby/rowfilter/joiner sequence
To be fair (as a node developer myself!) it is often quite easy to come up with a node name which described how you think of a node which is confusing to others… In fact, I’ve sometimes looked at nodes I’ve written a year or two later and been left wondering what the name might mean it does at all . That said, it’s generally - unless a name becomes very misleading - not a good idea to start changing node names on a regular basis, as that’s a definite route to confusing everyone!
Dear @ipazin I agree with @s.roughley that name changes should be avoided as much as possible. Perhaps the functionality of the duplicate row filter can be split into a more basic node which can still called “Duplicate Row Filter” and a more feature-rich node “Group-based Row Filter” and “… Splitter”… Just a suggestion.