[英]In SQL, how do I get the awards total for each player
我有两个桌子,一个叫玩家,一个叫奖励。 最终用户向玩家授予“奖励”,玩家可以多次获得相同的奖励。
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统计:
我可以查询奖励表以获取给玩家A的所有奖励,但我一直在这里,不知道去哪里。 然后,我需要做一个COUNT(*)来获得每个奖项的数量吗? (顶级玩家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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.