如何在同一个表的同一行的另一列上存储一行多列的和?

lqfhib0f  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(342)

这个问题在这里已经有答案了

我如何在mysql中编写一个用户定义的函数,这样当我从一个表中删除一行时,另一个表中的特定行也会被删除(3个答案)
两年前关门了。

CREATE TABLE `student`

(
  `student_id` int(5) NOT NULL AUTO_INCREMENT,
  `student_first_name` varchar(30) not null,
  `student_lase_name` varchar(30) not null,
  `student_roll_no` int(5) not null,
  `student_class` int(2) not null,
  PRIMARY KEY (`student_id`)
);

CREATE TABLE `result_sheet`
(
  `student_id` int(5),
  `student_first_name` varchar(30),
  `student_lase_name` varchar(30),
  `student_roll_no` int(5),
  `student_class` int(2),
  `mid_1_english` int(2),
  `mid_2_english` int(2),
  `mid_1_mathematics` int(2),
  `mid_2_mathematics` int(2),
  `mid_english` int(2),
  `mid_mathematics` int(2),
  `semester_final_english` int(2),
  `semester_final_mathematics` int(2),
  `total_english` int(2),
  `total_mathematics` int(2),
  `total` int(3),
   foreign key (student_id) references student(student_id) on delete cascade
);

delimiter $$
create trigger result_sheet_insert_trigger

after insert on student
for each row 
begin 
insert into result_sheet(student_id, student_first_name, student_lase_name, student_roll_no, student_class, mid_1_english, mid_2_english, mid_1_mathematics, mid_2_mathematics, mid_english, mid_mathematics, semester_final_english, semester_final_mathematics, total_english, total_mathematics, total)
values (new.student_id, new.student_first_name, new.student_lase_name, new.student_roll_no, new.student_class, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);

end$$
delimiter ;

我想为每一行存储midïU 1ïenglish和midïU 2ïenglish的平均值。我该怎么做?假设我有12个中考英语和20个中考英语。然后我想把16作为中英文存储在结果表上。

brvekthn

brvekthn1#

试试这个:

UPDATE result_sheet SET mid_english = (mid_1_english + mid_2_english) / 2

相关问题