Когда вы делаете что-то подобное
Select SUM(mid_1_english + mid_2_english)/2 as mid_english
Это не создает новый столбец mid_english.Таким образом, вы не можете использовать его в качестве столбца в том же запросе.
То, что вам нужно, будет выглядеть примерно так
select s_roll_no, s_f_name, s_l_name, s_class,
SUM(mid_1_english + mid_2_english)/2 as mid_english,
SUM(mid_1_mathematics + mid_2_mathematics)/2 as mid_mathematics,
SUM((mid_1_english + mid_2_english)/2 + semester_final_english) as
total_english,
SUM((mid_1_mathematics + mid_2_mathematics)/2 +
semester_final_mathematics) as total_mathematics
from elaborate_result
group by s_f_name, s_l_name;
LIMIT 0, 50000