xiatian 1 рік тому
батько
коміт
159115304e
1 змінених файлів з 10 додано та 2 видалено
  1. 10 2
      stmms-web/src/main/webapp/sql/upgrade/1.3.14.sql

+ 10 - 2
stmms-web/src/main/webapp/sql/upgrade/1.3.14.sql

@@ -8,12 +8,20 @@ UPDATE eb_exam_student set inspected=1,subjective_status='MARKED' where subjecti
 
 ALTER TABLE eb_exam_subject ADD COLUMN `inspect_round` 	int(11) NOT NULL DEFAULT 1 COMMENT '复核轮数';
 ALTER TABLE eb_inspect_history ADD COLUMN `inspect_round` 	int(11) NOT NULL COMMENT '复核轮数';
+
 UPDATE eb_inspect_history
 INNER JOIN 
 (
-	SELECT t.id,ROW_NUMBER () OVER (PARTITION BY t.student_id ORDER BY t.id) AS rn FROM eb_inspect_history t
+SELECT id, @rank := IF(@current_group = student_id, @rank + 1, 1) AS rank, @current_group := student_id
+    FROM (
+        SELECT student_id, id
+        FROM eb_inspect_history
+        ORDER BY id
+    ) AS sorted
+    CROSS JOIN (SELECT @rank := 0, @current_group := '') AS vars
 ) tem ON eb_inspect_history.id = tem.id
-SET eb_inspect_history.inspect_round = tem.rn;
+SET eb_inspect_history.inspect_round = tem.rank;
+
 ALTER TABLE eb_inspect_history DROP INDEX index1;
 ALTER TABLE eb_inspect_history ADD UNIQUE INDEX index1(`student_id`, `inspect_round`);