首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

请问一个平均分配的算法

2013-08-27 
请教一个平均分配的算法类似网上答题阅卷比如,有759个考生提交了答卷,将这些答卷随机平均分配给给6个老师

请教一个平均分配的算法
类似网上答题阅卷

比如,有759个考生提交了答卷,将这些答卷随机平均分配给给6个老师阅卷,这段sql代码如何写?或者,如何计算?
当然,可能某个老师的卷子要比其他老师多一点,或少一点。
多谢。
[解决办法]
NTILE (integer_expression) OVER ( [ <partition_by_clause> ] < order_by_clause > )  能满足你的需求
[解决办法]
WITH a1 AS
(
SELECT id,name,ROW_NUMBER() OVER(ORDER BY id) re FROM tbGroup
)
,a2 AS
(
SELECT ntile(@i) over(order by newid()) re,id FROM tbItem
)
,a3 AS
(
SELECT a.id,b.id AS groupid
FROM a2 a
INNER JOIN a1 b ON a.re=b.re
)
UPDATE tbItem SET groupid=a3.groupid
FROM a3
WHERE tbItem.id=a3.id

热点排行