select distinct sum(max(score)) over () as "Total Score" from T group by level;
You can do the two aggregates together with group by and then a windowed sum. Distinct takes care of removing what would be the same sum repeated for every group. (In general I would encourage you to avoid too much reliance on select distinct.)
The other approaches using either CTEs/derived tables are perfectly fine. A beginner's solution would probably look more like this:
select t.level, sum(maxScore) as "Total Score"
from T t inner join
(select level, max(score) as maxScore from T group by level) as m
on m.level = t.level
group by t.level;
Depending on the platform you might get this to work
select level,
sum((select max(score) from t t2 where t2.level = t.level)) as "Total Score"
from T t
group by level
SELECT *, (SELECT SUM(table.score) WHERE level = N) AS 'level_1_score'.....