そのタイトルは意味をなさないかもしれません、私が何をしようとしているのかを一文で尋ねる方法がわかりません...
次のようなMySQLテーブルがあります。
| id | user | team | month | result |
|----|-------|--------|-------|--------|
| 1 | Joe | red | sept | 100 |
| 2 | Joe | red | oct | 40 |
| 3 | Jim | red | sept | 70 |
| 4 | Jim | red | oct | 50 |
| 5 | Susy | red | sept | 40 |
| 6 | Tim | blue | sept | 60 |
| 7 | Tim | blue | oct | 100 |
| 8 | Betty | blue | sept | 70 |
| 9 | Dave | blue | sept | 20 |
| 10 | Stan | green | oct | 40 |
| 11 | Alan | green | sept | 80 |
| 12 | Tina | green | oct | 100 |
| 13 | Tina | green | sept | 30 |
| 14 | Rick | yellow | oct | 50 |
| 15 | Ellen | yellow | oct | 60 |
最終的に、チームと月ごとに整理された 50 を超える結果を持つユーザーの総数を示す HTML テーブルを出力しようとしています。
私が今実行しているクエリは次のとおりです。
SELECT team, month, count(*)
FROM example
WHERE result >= 50
GROUP BY team, month
これはこれを返します:
| team | month | count(*) |
|--------|-------|----------|
| blue | oct | 1 |
| blue | sept | 2 |
| green | oct | 1 |
| green | sept | 1 |
| red | oct | 1 |
| red | sept | 2 |
| yellow | oct | 2 |
しかし、私の HTML テーブルでは、月を列としてリスト (および合計列を追加) したいと考えています。したがって、次のようにレンダリングされる HTML テーブル (並べ替えは無視してください。任意です):
| Team | sept | oct | Total |
|--------|------|-----|-------|
| red | 2 | 1 | 3 |
| blue | 2 | 1 | 3 |
| green | 1 | 1 | 2 |
| yellow | 0 | 2 | 2 |
私が持っているクエリ結果を処理して、どうにかしてそれを PHP/HTML の最終形式に操作できますか? それとも、そもそもクエリの方法を変更する必要がありますか?
* HTML テーブルの出力例を変更するための編集 - 元のテーブルにさらに月が追加されると、結果の HTML テーブルが水平方向に拡張できるように、これを動的にしたいと考えています。