![](/img/trans.png)
[英]MySQL to group unique items across multiple columns with COUNTs for each?
[英]Mysql unique rows with proper counts for different columns
我的表格設置如下:
id - game_id - player_id - action - assist
動作顯示所執行動作的類型(目標,助攻,任意球),並且助手用給予助手的球員的球員ID(如果存在)填充。 有些player_id在一個游戲中有不同行動的行數。
因此,每行都填充例如:
1 - 3 - 15 - goal - 5
我現在想創建一個概述,它總結每個player_id的所有動作,所以我的結果數組中每個player_id只有一行。 我用以下查詢做了這個,這對我來說似乎有用:
SELECT id, player_id, game_id, assist, action, COUNT(*) AS count FROM game_action WHERE game_id = 3 GROUP BY player_id
但是,在某些行中,輔助列中存在一個值。 我還想檢索玩家的信息,並將其列為一個單獨的行,其中包含適當的“輔助”計數。
我該怎么做? 或者更改我的表結構和保存記錄的方式更明智?
工會怎么樣? 例如:
SELECT id, player_id, game_id, assist, action, COUNT(*) AS count
FROM game_action
WHERE game_id = 3 GROUP BY player_id
union
SELECT id, player_id, game_id, assist, action,count(*)
from game_action
where player_id in (select assist from game_action where game_id = 3)
GROUP BY player_id
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.