Calculate Average of the largest values in multiple columns

May be are you asking this? SELECT ID, (SELECT AVG(v) FROM (VALUES (Mark1), (Mark2), (Mark3), (Mark4), (Mark5)) AS value(v)) as [AverageMarks] FROM Table1 If you are looking for only Average of 2 highest subjects among 3 subjects then try this. SELECT ID, (SELECT (SUM(v)-MIN(V))/2 FROM (VALUES (Mark1), (Mark2), (Mark3)) AS value(v)) as [AverageMarks] FROM Table1 … Read more