【发布时间】:2012-11-05 18:41:06
【问题描述】:
我有两张桌子,一张叫 Players,一张叫 Awards。最终用户给玩家一个“奖励”,玩家可以多次获得相同的奖励。
Awards Table
----+------------------------------------------------------------------------+
| ID | name | player_id |
+----+-----------------------------------------------------------------------+
| 1 | Free-throw Excerpt | 1 |
| 2 | Free-throw Excerpt | 6 |
| 3 | Top Earner | 1 |
| 4 | Top Player | 5 |
| 5 | Free-throw Excerpt | 1 |
| 6 | Free-throw Excerpt | 1 |
| 7 | Top Earner | 1 |
| 8 | Top Player | 1 |
...
+----+-----------------------------------------------------------------------
`Players Table`
----+------------------------------------------------------------------------+
| ID | name |
+----+-----------------------------------------------------------------------+
| 1 | Player A |
| 2 | Player B |
| 3 | Player C |
| 4 | Player D
... |
+----+-----------------------------------------------------------------------
在我的应用中,每个玩家都有一个页面,在该页面上,我想显示玩家获得的所有奖项。比如玩家B的页面:
玩家 A 统计数据:
- 罚球选段:3 票
- 最高收入者:2 票
- 顶级玩家:1 票
我可以查询奖励表以获取授予玩家 A 的所有奖励,但我被困在这里,不知道该去哪里。然后我需要做一个 COUNT(*) 来获得每个奖项的数量吗? (1 代表顶级球员,3 代表罚球摘录)。
【问题讨论】:
-
查看MySql中的GROUP BY操作,它应该可以帮助你做你需要的。