Sql server 2008 需要帮助尝试按组排序吗

Sql server 2008 需要帮助尝试按组排序吗,sql-server-2008,stored-procedures,rank,dense-rank,Sql Server 2008,Stored Procedures,Rank,Dense Rank,我很难按照每个学生所在的家庭组对他们进行排名 例如伪造数据 HomeGroup 1. Team RED 2. Team BLUE 3. Team Skeet 4. Team GREEN Students 1. John, Score - 34, Team RED 2. Jill, Score - 87.3, Team RED 3. Fred, Score - 41, Team GREEN 4. Jane, Score 93, Team BLUE ... 等等 我的输出如下所示 Scores

我很难按照每个学生所在的家庭组对他们进行排名

例如伪造数据

HomeGroup
1. Team RED
2. Team BLUE
3. Team Skeet
4. Team GREEN

Students
1. John, Score - 34, Team RED
2. Jill, Score - 87.3, Team RED
3. Fred, Score - 41, Team GREEN
4. Jane, Score 93, Team BLUE
...
等等

我的输出如下所示

Scores
StudentId 1, Score 34, Rank - 5th 
StudentId 2, Score 87.3, Rank - 1st 
StudentId 3, Score 41, Rank - 9th 
StudentId 4, Score 94, Rank - 1st.
我在试着用稠密的等级。。如果我对一个家庭组(例如,家庭组=1)运行这个程序,效果很好。。。但我不知道如何在所有的家庭组中做到这一点

我猜我需要一个更新查询,它有一个子查询。。。这个子查询有它自己的子查询


我很困惑:(我一直在想,除非我头上有枪,否则我拒绝使用邪恶的游标(因为我相信用“Set”符号可以正确处理)。

为了获得团队中每个学生的密集等级:

SELECT *, DENSE_RANK() OVER (PARTITION BY Team ORDER BY Score DESC)
   FROM Students;

我不清楚您希望更新什么。

要获得团队中每个学生的密集等级:

SELECT *, DENSE_RANK() OVER (PARTITION BY Team ORDER BY Score DESC)
   FROM Students;

我不清楚您想要更新什么。

Perfect。分区是我需要的“分组”机制。更新将是一个简单的更新查询,上面有select语句u建议。simple.wikid!Perfect。分区是我需要的“分组”机制。更新将是一个简单的更新查询,上面有select语句u建议暗示,上面。简单。维基!