Php “如何计数”;“帐户”;仅当字符/用户存在时
我有两张桌子——“账户”和“玩家” 我正在使用此查询统计帐户Php “如何计数”;“帐户”;仅当字符/用户存在时,php,mysql,sql,group-by,count,Php,Mysql,Sql,Group By,Count,我有两张桌子——“账户”和“玩家” 我正在使用此查询统计帐户 SELECT COUNT(*) FROM `accounts` WHERE `id` > 1; 帐户表结构: id, name id, name, account_id 玩家表结构: id, name id, name, account_id * 假设查询统计了10个帐户,但只有3个帐户创建了角色/用户 我想知道如何只计算这3个帐户,而不考虑帐户中有多少字符/用户,因此我们不重复计算。您可以使用exists筛选出没有链
SELECT COUNT(*) FROM `accounts` WHERE `id` > 1;
帐户表结构:
id, name
id, name, account_id
玩家表结构:
id, name
id, name, account_id
*
假设查询统计了10个帐户,但只有3个帐户创建了角色/用户
我想知道如何只计算这3个帐户,而不考虑帐户中有多少字符/用户,因此我们不重复计算。您可以使用
exists
筛选出没有链接玩家的帐户:
SELECT COUNT(*) no_accounts
FROM accounts a
WHERE
a.id > 1
AND EXISTS (
SELECT 1 FROM players p WHERE p.account_id = a.id
)
您可以直接从
玩家中进行计数
:
select count(distinct p.account_id)
from players p
where p.account_id > 1;