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中查看分组操作,它应该帮助您完成需要的操作。