質問

私は、彼らがしているホームグループによって、学生たちのそれぞれをランク付けしようとする問題を抱えています。

例偽のデータます。

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.

私は.. DENSE_RANKを使用しようとしていると私はSINGLEホームグループ(= 1例。ホームグループ)に対してこれを実行する場合には、正常に動作します...しかし、私はすべてのhomegroups上でこれを実行するかどうかはわかりません。

私はサブクエリを持って更新クエリを、必要と推測している...と、このサブクエリが、それは自分のサブクエリのですが... ??

私はかなり混乱している:(そして私は私が(私はそれが「SET」の表記を正しく処理することができると信じて原因)私の頭に銃を持っていない限り使用することを拒否悪カーソルを考えておきます。

役に立ちましたか?

解決

チーム内の各学生のDENSE_RANKを取得するには:

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

あなたががUPDATEをしたいですか何私には明確ではありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top