0

私は一連のゲームを実行しており、勝者はすべてのゲームの終わりに特定のポイントを獲得します。「リーダーボード」を生成するスクリプトを作成しようとしています-基本的に、さまざまなプレーヤーの累積スコアの集計を続けています。私の問題を例で説明します:

友達のグループ (アリス、ブライアン、キャロル...) が毎朝バスケットボールの試合を行い、全員が毎日何点獲得したかを追跡します。彼らは、全員が 1 週間で獲得した合計ポイント数を知りたいと考えています。

彼らが月曜日の朝にプレーしたとき、各プレーヤーが獲得したポイントは次のとおりです。

アリス:3

ブライアン: 10

キャロル:5

他の全員: 0

友達のグループは火曜日にまた遊びました。スコアは次のとおりです。

アリス:2

デビッド: 3

エミリー: 8

他の全員: 0

水曜日の試合のスコア:

キャロル:6

デビッド: 4

フランク: 2

他の全員: 0

彼らは、毎日の終わりに、誰がこれまでに最も多くのポイントを獲得したかを知りたいので、追跡するスクリプトを作成します。スコアを毎日入力すると、スクリプトは次のように返します。

月曜日の望ましい出力:

  1. ブライアン (10)
  2. キャロル (5)
  3. アリス (3)

火曜日の出力:

  1. ブライアン (10)
  2. エミリー (8)
  3. アリス (5)
  4. キャロル (5)
  5. デビッド (3)

そして水曜日の出力:

  1. キャロル (11)
  2. ブライアン (10)
  3. エミリー (8)
  4. デビッド (7)
  5. アリス (5)
  6. フランク (2)

毎日の結果を SQL テーブルに入れる場合、SQL または PHP を使用して、全員の合計スコアのソート済みリストを生成する方法はありますか?

ご協力いただきありがとうございます。解決策を聞いたり、自分で解決策を見つけたりした場合は、ここに投稿して、将来人々が使用できるようにします.

4

2 に答える 2

0

SQL テーブルが次のように設定されている場合:

name    day    score
Alice   M      2
Bob     M      3
Carol   M      1
Alice   T      2
Bob     T      4
David   T      1
etc...

次に、SQLコードは次のようになります

SELECT name, SUM(score) FROM table GROUP BY name

コードで解読できなかった場合、これは次のようになります。

name    score
Alice   4 (or whatever it actually is)
Bob     5 (or whatever...)
etc...

(編集: SQL ステートメントでコンマを忘れた)

于 2013-04-02T17:58:02.277 に答える