Querying with different aggregation levels

Use oracle Analytic functions to report data from different aggregate levels.

SELECT level1, level2, MAX(fld) OVER (PARTITION BY level1) AS MAX_FLD
FROM table1