сумма одной строки (среднее значение двух столбцов) и той же строки (значение другого столбца) - PullRequest
0 голосов
/ 29 мая 2018

This is the table I've created, name of table is elaborate_result

Я написал запрос, но он показывает ошибку.Я хочу получить AVG mid_1_english и mid_2_english, а затем добавить AVG с semester_final_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_english + semester_final_english) as total_english, 
           SUM(mid_mathematics + semester_final_mathematics) as total_mathematics 
from elaborate_result 
group by s_f_name, s_l_name;
LIMIT 0, 50000 

Код ошибки: 1054. Неизвестный столбец 'mid_english' в 'списке полей' 0,000 сек

1 Ответ

0 голосов
/ 29 мая 2018

Когда вы делаете что-то подобное

    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 
...