[英]MySQL Finding totals in multiple subqueries
我們有一個應用程序可以幫助人們找到其他人打籃球。 我們與該市的一些籃球場相關聯。 所以我的任務是找出“在 XXField (field_id = 460) 打球的球員全年打籃球的次數”
我不確定我是否非常了解該做什么。 這些是我正在處理的表
Game_users 表
game_id | user_id | bill_id | created_at | deleted_at
23455 | 3455 | 234 | 2019-02-06 03:16:40 | null
45678 | 6790 | 877 | 2020-02-09 07:26:34 | null
87666 | 2546 | 899 | 2020-04-20 06:06:06 | null
12312 | 1231 | 989 | 2019-02-22 09:22:31 | null
游戲桌(包括籃球場的 id)
id | field_id | game_status| created_at | deleted_at
23455| 460 | Completed | 2019-02-06 03:16:40 | null
23455| 345 | Completed | 2020-09-03 05:45:33 | null
87666| 460 | Completed | 2020-12-12 08:34:22 | null
87666| 212 | Completed | 2020-11-23 09:54:12 | null
我知道我必須加入兩個表才能獲得字段 ID 和在那里玩的玩家。 但是我怎么也能得到他們今年打高爾夫球的總次數呢? 包括他們在460玩的那些。
對不起,這令人困惑,這對我來說也很困惑。
我的預期結果是這樣的
User_Id | Total Games | FieldXX Number of Games
1234 | 34 | 12
您可以在IN
子句和GROUP BY
中使用子查詢,如下所示:
SELECT GU.USER_ID,
COUNT(1)
FROM GAME_USERS AS GU
WHERE GU.GAME_ID IN (SELECT ID FROM GAMES AS G WHERE G.FIELD_ID = 460)
AND .. CONDITION ON created_at FOR WHOLE YEAR ACCORDING TO YOUR REQUIREMENT
GROUP BY GU.USER_ID
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.