Mysql 一行之和';s(两列';s平均值)和同一行';s(另一列的值)
我已经写了一个查询,但它显示错误。我想获得Mysql 一行之和';s(两列';s平均值)和同一行';s(另一列的值),mysql,rdbms,Mysql,Rdbms,我已经写了一个查询,但它显示错误。我想获得mid_1_english和mid_2_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_mat
mid_1_english
和mid_2_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。“字段列表”0.000中的未知列“mid_english”
秒
当你这样做的时候
Select SUM(mid_1_english + mid_2_english)/2 as 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
它不会创建新的mid_english专栏。因此,不能将其用作同一查询中的列
所以你需要的可能是这样的
Select SUM(mid_1_english + mid_2_english)/2 as 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
使用fiddle链接和整个错误消息更新您的问题编辑您的问题并添加错误消息+更多信息。这不应该出现在评论中检查您的列\u name mid\u english
mid\u english
不是表detailure\u result
的一列。先解决这个问题,然后回来我正在用mid_英语存储mid_1_英语和mid_2_英语的平均值,如果我解决了这个问题,问题就不会出现了。下次再讨论这个问题。非常感谢,这正是我一直在寻找的答案