同样将结果集分成组,光标与否?

1 sql sql-server cursors

我正在建立一个种族管理系统,有司机和种族加热.

我需要将13个驱动程序划分为每组最多6个组.这是不可能的,因为结果将是2.2组,这是不可能的,需要3组.允许小于6的小组,所以我决定将13除以3来完成以下任务:

加热1:4车手
加热2:4车手
加热3:5车手(其余车手,但不超过6名)

我已设法划分行并舍入结果等,以便知道需要3组,每组不少于4个驱动程序.棘手的部分是如何循环这个并在最后一个循环中添加其余的(5)...我正在考虑"SELECT TOP 4 ...",两个首先,"SELECT TOP 100%... "对于剩下的五名车手.

我知道游标,但我不是专家,我知道如何创建和执行动态SQL查询.

如何通过在SQL Server 2005中使用游标和/或计数器来完成?

Qua*_*noi 7

SELECT  *,
        NTILE((SELECT CAST(CEILING(COUNT(*) / 6.00) AS INT) FROM drivers)) OVER (ORDER BY id) AS heat
FROM    drivers
Run Code Online (Sandbox Code Playgroud)