最简单的方法是用数据库本身的随机排序方法,如
sqlserver 中 select top 要分配到某实习点某专业的学生数 学生 from 学生表 order by newid()
当然在每次分配完学生后,要将已进行分配的学生进行已分配标识,避免进行重复分配。
sqlserver 中 select top 要分配到某实习点某专业的学生数 学生 from 学生表 order by newid()
当然在每次分配完学生后,要将已进行分配的学生进行已分配标识,避免进行重复分配。
解决方案 »
- 一个弱弱的问题,为什么td之间有缝隙呢?
- ASP.NET mvc调用KindEditor使用,无法获取TextArea内容写入数据库,求救!
- 用水晶报表或其它方法能实现这样的效果吗?回答相关有分
- asp.NET运行时提示:无法WEB服务器上启动调试,未将项目配置为进行调试
- 如何在同一列中有些行显示radio,有些行显示文字?
- 请教各位达人总结一下页面之间传递参数的若干方法!
- 如何引用其它项目的页面
- 请教如何合并DataSet中的两个table
- 数据添加的刷新问题 ??????????????
- TO: guoyan19811021
- UpdatePanel里面用锚点定位的问题
- 标题跨行跨列的Datagrid的实现问题???特急!!!!!!!!
放一个数组里
循环
从0开始.第一次取从0到最大的随机
然后取出来和0位置对换
...
第n次,取从n到最大的随机
然后取出来的数和n位置对换
...
这样就直接把所有数据都随机了
然后直接从s1到s15分配就可以了
然后再下一个专业....
能稍微给点例子么,没头绪啊
按简单的,可以分别取10个专业然后单独随机填充
把所有数据可以放到个数组中
string[] id; //学生的id
int count = id.Length -1;
for (int i = 0; i < id.Length; i++)
{
Random rd = new Random();
int num = rd.Next(i, count);
string change = id[i];
id[i] = id[num];
id[num] = change;
这样,本专业人员就可以随机了,然后按数量分别分配到10个地点就可以了
}
第二种方法也可以一次把所有数据都取出来,然后总的随机
然后在循环里按专业对这数据进行分配.