MYSQL更新随机选择的X记录
我有一个名为students的学生表,这个表有一个名为SchoolLevel的字符字段,指示他们在H->high,M->middle E->elementary中的级别。我想随机将每个级别的学生分配到各自的学校,并使用名为“schoolID”的int字段。例如,如果我有4530名小学生 schoolID=1,应随机分配给3000名“E”学生 schoolID=2,应分配给另外530名随机“E”学生 和schoolID=3应分配给剩余的1000名未分配记录的“E”学生 我试着这样做: 更新学生 设置SchoolID=1 where schoolevel=从schoolevel='E'按兰德限制300排序的学生中选择schoolevelMYSQL更新随机选择的X记录,mysql,random,sql-update,Mysql,Random,Sql Update,我有一个名为students的学生表,这个表有一个名为SchoolLevel的字符字段,指示他们在H->high,M->middle E->elementary中的级别。我想随机将每个级别的学生分配到各自的学校,并使用名为“schoolID”的int字段。例如,如果我有4530名小学生 schoolID=1,应随机分配给3000名“E”学生 schoolID=2,应分配给另外530名随机“E”学生 和schoolID=3应分配给剩余的1000名未分配记录的“E”学生 我试着这样做: 更新学生 设
这显然不起作用-显然,您不能在FROM子句中将目标表指定为要更新的同一个表。我甚至可以做我想做的事情,例如,更新随机选择的X记录吗?假设SchoolID最初为空,可以这样做 更新学生 设置SchoolID=1 其中学校级别='E' 并且SchoolID为空 兰特订购 限额3000; 然后 更新学生 设置SchoolID=2 其中学校级别='E' 并且SchoolID为空 兰特订购 限额530; 等等 下面是一个例子