我正在建立一个种族管理系统,有司机和种族加热.
我需要将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中使用游标和/或计数器来完成?
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)
| 归档时间: |
|
| 查看次数: |
1001 次 |
| 最近记录: |