Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php “如何计数”;“帐户”;仅当字符/用户存在时_Php_Mysql_Sql_Group By_Count - Fatal编程技术网

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;