One special use of
GROUP BY is to associate an aggregate
function (especially COUNT; counting
the number of rows in each group)
with groups of rows. First, assume
that the Antiques table has the Price
column, and each row has a value for
that column. We want to see the price
of the most expensive item bought
by each owner. We have to tell SQL
to group each owner's purchases,
and tell us the maximum purchase price:
SELECT BUYERID, MAX(PRICE)
FROM ANTIQUES
GROUP BY BUYERID;
Now, say we only
want to see the maximum purchase price
if the purchase is over $1000, so
we use the HAVING clause:
SELECT BUYERID, MAX(PRICE)
FROM ANTIQUES
GROUP BY BUYERID
HAVING PRICE 1000; |