簡體   English   中英

MySQL 在多個子查詢中查找總計

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

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