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建议暗示,上面。简单。维基!