私はいくつかの野球の統計を分析しようとしていますが、単純なタスクのように見えるものを達成するのに苦労しています. 次の結果セットを見てください。
GAME_PK REC_SEQ BatterId PlayNumber EventType
287576 6 462101 1 single
287576 14 519048 2 single
287576 25 435079 3 strikeout
287576 26 435079 4 stolen_base_home
287576 28 435079 5 stolen_base_2b
PlayNumber 列は、ROW_NUMBER() OVER (ORDER BY GAME_PK, REC_SEQ) を使用して生成されています。残りは MLB 統計データベースから直接取得されます。REC_SEQ は、ゲーム内のイベントのシーケンス番号です。EventType は基本的に打席の結果です。
BatterId が変更された場合にのみ PlayNumber をインクリメントしたいと考えています。ただし、REC_SEQ の順序を尊重する必要があります。したがって、RANK または DENSE_RANK を使用できるとは思いませんが、必要なものに非常に近いようです。
結果セットを次のようにしたいと思います。
GAME_PK REC_SEQ BatterId PlayNumber EventType
287576 6 462101 1 single
287576 14 519048 2 single
287576 25 435079 3 strikeout
287576 26 435079 3 stolen_base_home
287576 28 435079 3 stolen_base_2b
どんな助けでも大歓迎です。
ありがとう!
編集: 打者は、ゲーム中に複数回表示できます。彼には、登場ごとに新しい PlayNumber が割り当てられる必要があります。基本的に、新しい打席ごとに新しい PlayNumber が必要です。