統計という名前のテーブルがあります
player_id team_id match_date ゴールアシスト` 1 8 2010-01-01 1 1 1 8 2010-01-01 2 0 1 9 2010-01-01 0 5 ...
選手がマイルストーンに到達した時期を知りたい (例: 100 ゴール、100 アシスト、500 ゴールなど)
チームがマイルストーンに到達した時期も知りたい。
100 ゴールを最初、2 番目、3 番目に達成した選手またはチームを知りたい...
テーブルでトリガーを使用して合計を累積することを考えました。
テーブル player_accumulator (および team_accumulator) テーブルは
player_id total_goals total_assists 1 3 6 team_id total_goals total_assists 8 3 1 9 0 5
行が統計テーブルに挿入されるたびに、トリガーが player_accumulator および team_accumulator テーブルを挿入/更新します。
このトリガーは、プレーヤーまたはチームが数値を含むマイルストーン テーブルのマイルストーンに到達したかどうかを確認することもできます。
マイルストーン 100 500 1000 ...
テーブル player_milestone には、プレーヤーが到達したマイルストーンが含まれます。
player_id stat マイルストーンの日付 1 ゴール 100 2013-04-02 1アシスト 100 2012-11-19
「マイルストーン」を実装するより良い方法はありますか?
トリガーなしで最も簡単な方法はありますか?
私はPostgreSQLを使用しています