簡體   English   中英

Mysql唯一行,具有適當的不同列數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM