gpt4 book ai didi

mysql - SQL。使用 JOINS 和 COUNT 函数通过另外 2 个表对变量进行计数

转载 作者:行者123 更新时间:2023-11-29 10:51:26 25 4
gpt4 key购买 nike

我想计算某个帐户上有多少房子,其中参数为玩家 ID。

图像上显示了重要的表格:enter image description here

正如我们所看到的,玩家有自己的帐户。该帐户可以有超过 1 名玩家,因此我需要检查该帐户上的所有玩家是否有房子。 (1 个玩家可以拥有 1 个房子)

我想创建一个 SQL 脚本,对于特定的player_id,它返回属于该玩家的帐户上玩家拥有的房屋总和。

<小时/>

例如:Player_1,属于account_1

account_1 有 3 位玩家:

  • 玩家_1
  • 玩家_2
  • 玩家_3

Player_3 和 Player_1 是一些房屋的所有者。

Player_1 的函数应返回 2。

<小时/>

我已经完成了一些 JOIN 和 edu

SELECT players.id AS Player_id, players.name AS Player_name, accounts.id AS 
Account_id, houses.id AS HouseID
FROM players
INNER JOIN accounts ON players.account_id=accounts.id

LEFT JOIN houses ON players.id=houses.owner

ORDER BY accounts.id ASC;

这打印了我,连接良好的玩家及其帐户 ID 和他们拥有的房屋 ID(如果不是房屋所有者,则为 NULL)

我只想获取某个玩家每个整个帐户拥有的房屋数量。

最佳答案

我首先将每个玩家连接到他的共同玩家(即共享相同 accountId 的玩家)。然后,对于每个共同玩家,左键加入他们的房子(如果有的话)。请注意,对于每一行,如果关联的共同玩家不拥有房屋,则该共同玩家的 house-id 将为 NULL。最后,它只是按玩家分组并计算他的同伴的所有潜在 house-id:

SELECT p.id AS Player_id, count(h.id)
FROM players p join players co_players on p.account_id = co_players.account_id
left join houses h on co_players.id = h.owner
group by p.id

关于mysql - SQL。使用 JOINS 和 COUNT 函数通过另外 2 个表对变量进行计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43664582/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com