问题描述:有两个表 一个表a存小组(第一组、第二组.....的N组),令一个表b里放的是数据
我现在要将b表里的数据随机插入到a表里(可以先把b表数据平均分成n份,◎最后一份数据<=评价数◎再插入a表;也可以将b表数据循环插入a表)例如有表a (注意:实际上a表数据初始为空,小组个数n也是随机创建 ,如下a表内容为参考)
---------------------------------------
ID   NAME    StudentNO1    第一组   
2    第二组
3    第三组
。   ...
。   ...
。   ...有表b 
---------------------------------------
StudentNO001
002
003
004
005
006
007

解决方案 »

  1.   

    select id=identity(int,0,1), * into # from 表b order by newid()declare @n int
    set @n= 组数insert 表a(组号,...) select id/@n+1, * from #
      

  2.   

    首先将b表的记录随机排序, 插入到临时表, 并通过自增列(identity)为这个临时表设置一个序号.
    然后按临时表中现在记录的顺序插入A表就可以了, 自增列主要用于确定这些记录应该归属于那一组的.
      

  3.   

    可以在一个表里查询不同字段的总数吗 COUNT(*)  ?
      

  4.   

    --Sql Server 2005 中有DENSE_RANK() 排名 处理类似问题.
    DENSE_RANK() OVER(ORDER BY 字段 DESC) AS drnk
      

  5.   

    给个思路你:
    int i=1;
    int grpNum=.....小组个数
    foreach(小组中每个未分组的成员)
    {
        //执行
    }
    if(i>grpNum)//判断i是否大于最大值,大于则把i置1
        i=1;
    //移除成员