我有我student_marks
表各类痕迹,让说Quiz1
,Quiz2
,Quiz3
,First_Monthly
,Second_Monthly
,Third_monthly
。如何找出来自不同列的两个最高值?
我创建了一个触发器,它可以计算所有标记并在Final_Marks
字段中添加总和。
我不想Final_marks
字段添加所有列,总结他们,我想只选择前2 Quiz_Marks
和最上方的两个Monthly_Marks
并添加FinalMarks
它们的总和。
我在网上搜索,发现greatest
关键字,从表中选择最高列值,但在这里我不想要一个单一的值,我需要对每个ID至少2个最高值。
-
触发[眼下其添加的所有列]
BEGIN
SET NEW.FinalMarks = NEW.AssignmentMarks + NEW.QuizMarks
+ NEW.Hourly1 + NEW.Hourly2 + NEW.Hourly3
+ NEW.ProjectMarks,
1.标准化您的设计 – Strawberry
+1对不起,我吃了我的话 – Basic
是不是正常化了?如果我进一步划分'student_marks'表,那么每次用户更新标记时可能很难更新'final_marks'列。 –