You can avoid group by altogether by using the OVER() method when using aggregates (I think this is for SQL2008 and higher).
IF OBJECT_ID('tempdb..#TempTable') IS NOT NULL
DROP TABLE #TempTable
CREATE TABLE #TempTable (
[ID] INT IDENTITY(1,1) NOT NULL,
[Age] INT NULL,
[Sex] CHAR(1) NULL,
[School] VARCHAR(20) NULL,
PRIMARY KEY (ID))
INSERT INTO #TempTable
SELECT 22,'M','Thomasville'
UNION
SELECT 19,'M','Thomasville'
UNION
SELECT 31,'F','Polytechnic'
UNION
SELECT 20,'M','Thomasville'
UNION
SELECT 32,'F','Polytechnic'
UNION
SELECT 27,'F','Thomasville'
UNION
SELECT 22,'M','Polytechnic'
UNION
SELECT 18,'M','Thomasville'
UNION
SELECT 40,'F','Thomasville'
SELECT * FROM #TempTable
DECLARE
@Category VARCHAR(50)
SET @Category = 'Sex'
SELECT DISTINCT
(CASE
WHEN @Category = 'Sex' THEN Sex
WHEN @Category = 'School' THEN School
END) AS Category
,(CASE
WHEN @Category = 'Sex' THEN MIN(Age) OVER (PARTITION BY Sex)
WHEN @Category = 'School' THEN MIN(Age) OVER (PARTITION BY School)
END) AS MinAge
,(CASE
WHEN @Category = 'Sex' THEN AVG(Age) OVER (PARTITION BY Sex)
WHEN @Category = 'School' THEN AVG(Age) OVER (PARTITION BY School)
END) AS Average
,(CASE
WHEN @Category = 'Sex' THEN MAX(Age) OVER (PARTITION BY Sex)
WHEN @Category = 'School' THEN MAX(Age) OVER (PARTITION BY School)
END) AS MaxAge
FROM
#TempTable
SET @Category = 'School'
SELECT DISTINCT
(CASE
WHEN @Category = 'Sex' THEN Sex
WHEN @Category = 'School' THEN School
END) AS Category
,(CASE
WHEN @Category = 'Sex' THEN MIN(Age) OVER (PARTITION BY Sex)
WHEN @Category = 'School' THEN MIN(Age) OVER (PARTITION BY School)
END) AS MinAge
,(CASE
WHEN @Category = 'Sex' THEN AVG(Age) OVER (PARTITION BY Sex)
WHEN @Category = 'School' THEN AVG(Age) OVER (PARTITION BY School)
END) AS Average
,(CASE
WHEN @Category = 'Sex' THEN MAX(Age) OVER (PARTITION BY Sex)
WHEN @Category = 'School' THEN MAX(Age) OVER (PARTITION BY School)
END) AS MaxAge
FROM
#TempTable
Output all data:
IDAgeSexSchool
118MThomasville
219MThomasville
320MThomasville
422MPolytechnic
522MThomasville
627FThomasville
731FPolytechnic
832FPolytechnic
940FThomasville
Output selected data:
CategoryMinAgeAverageMaxAge
F273240
M182022
CategoryMinAgeAverageMaxAge
Polytechnic222832
Thomasville182440