这个标题可能没有意义,我不知道如何用一句话来问我要做什么......
我有一个这样的 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 |
最终,我试图输出一个 HTML 表格,显示按团队和月份组织的结果大于 50 的用户总数。
这是我现在正在运行的查询:
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 表格可以水平扩展。