To continue reading for free, register below or login
To read more you must become a member of SearchOracle.com
');
// -->

This is a great example of how to "collapse" rows using
the GROUP BY clause.
select name
, max(value1)
, max(value2)
, max(value3)
from daTable
group
by name
In SQL, the GROUP BY clause produces one result row
for all distinct (combinations of) values of the column(s)
mentioned in the GROUP BY clause.
In this particular example, the GROUP BY clause has only
one column, name, so the query will produce one result row for every
name value. It "collapses" all rows with the same name into one
output result row.
The use of the MAX function in the other columns takes
advantage of an important feature of aggregate
functions, namely that they ignore NULLs. Each column
value in the result row—remember, GROUP BY will produce
one result row per name—will be the maximum value
of all the values in the column, for that name, but
ignoring NULLs.
As to the commas which you wanted in the result, you could
use SQL string functions to produce them right in the query,
but it's better to perform those types of transformations
in your application code.
|