I have a table with one numeric value (n) and three string values (a,b,c). How do I query this table so that I get only distinct values of (a,b,c) and if there are duplicates, take the maximum of the corresponding set of n values?
views:
581answers:
2
+1
Q:
Selecting the distinct values from three columns with the max of a fourth where there are duplicates
Arg! Beat me to it. ;-)
Jon Ericson
2009-01-21 22:38:04
+3
A:
Use GROUP BY
:
select a, b, c, max(n)
from table
group by a, b, c;
This will show only unique or distinct sets of a, b, c
and show the maximum n
found in that set.
MAX
is an aggregate function designed for use with GROUP BY
. Other potentially useful aggregate functions include MIN
, AVERAGE
, and COUNT
.
Jon Ericson
2009-01-21 22:37:30