Php 在SQL中,如何获取每个玩家的奖励总数
我有两张桌子,一张叫做运动员,一张叫做奖品。最终用户向玩家颁发“奖励”,玩家可以多次获得相同的奖励Php 在SQL中,如何获取每个玩家的奖励总数,php,mysql,sql,Php,Mysql,Sql,我有两张桌子,一张叫做运动员,一张叫做奖品。最终用户向玩家颁发“奖励”,玩家可以多次获得相同的奖励 Awards Table ----+------------------------------------------------------------------------+ | ID | name | player_id | +----+----------------------
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的奖励,但我被困在这里,不知道该去哪里。然后,我是否需要进行计数(*)以获得收到的每个奖项的数量?(1名为顶级球员,3名为罚球选段)。你说得对。用Group By进行计数即可
Select a.Name, Count(*) AS Total From Awards a
Where a.PlayerID = 1
Group By a.Name
Order By Count(*) DESC
你说得对。用Group By进行计数即可
Select a.Name, Count(*) AS Total From Awards a
Where a.PlayerID = 1
Group By a.Name
Order By Count(*) DESC
在MySql中查看分组操作,它应该帮助您完成需要的操作。在MySql中查看分组操作,它应该帮助您完成需要的操作。