Drupal 7 is a great improvement over 6, I can't wait for it to be released. However it's progress is eclipsing what could be an even greater improvement to the Drupal ecosystem and that is Views 3

Views is one of the most popular and most useful Drupal modules. Views 2 allows a huge amount of flexibility. Views 3 takes this to an almost unbelievable level.

However the documentation is still catching up. One of the features which has been added is support for SQL group by clauses.

The feature was added in "Enhance Views to support proper GROUP BY queries" if you read the thread all the way through and the code you can get an idea what is going on. Or you can read the rest of this post, which should explain it much more quickly.

When you create your view one of the options in the "Advanced Settings" is "Use Grouping", you can edit this to change the view to use grouping.

WARNING unlike most other options in views, the use grouping option is not overridable, that is it will affect every display in a view. This is often not what you want, so you may have to clone an existing view before you do this.

Once you have done this your fields will have an options cog next to them, this allows you to select the grouping options.

Group results together is a standard Group By clause, Others are also standard sql aggregate functions, obviously you should be careful not to use them for fields types which make no sense. Average on a string will throw an error.

You can also use these grouping functions for sorting and for filters. Which uses the SQL HAVING clause.

Once you have tried this a little I am sure you will get the hang of it. If you are used to the Views UI there is very little extra to learn.