Mysql 对其他查询进行多次计数的结果

Mysql 对其他查询进行多次计数的结果,mysql,Mysql,我不确定我在这里试图做的是可能的还是最好的方法,但我希望避免多次查询以获得简单的结果集 我的应用程序允许许多管理员和用户使用他们的帐户。我想返回一个结果集,该结果集根据其帐户类型可以返回管理员和用户的数量(表中的固定值),但也可以返回已分配的管理员/用户数量 这里最好的解释是一个例子(我知道它不起作用,但应该说明我正在尝试做什么: SELECT `admins`, `users`, COUNT(SELECT id FROM `account_admins`

我不确定我在这里试图做的是可能的还是最好的方法,但我希望避免多次查询以获得简单的结果集

我的应用程序允许许多管理员和用户使用他们的帐户。我想返回一个结果集,该结果集根据其帐户类型可以返回管理员和用户的数量(表中的固定值),但也可以返回已分配的管理员/用户数量

这里最好的解释是一个例子(我知道它不起作用,但应该说明我正在尝试做什么:

 SELECT 
      `admins`,
      `users`,
      COUNT(SELECT id FROM `account_admins` WHERE `account_id`=?) AS `current_admins`, 
      COUNT(SELECT id FROM `account_users` WHERE `acount_id`=?) AS `current_users`
 FROM ....
我不确定上述方法是否可行,是否有效?有人建议我可以使用联接,但我不完全确定如何进行,特别是在多个COUNT()请求中


提前感谢:)

您的子查询方法非常正确。要将
count()
放入子查询中:

 SELECT 
      `admins`,
      `users`,
      (SELECT count(id) FROM `account_admins` WHERE `account_id`=?) AS `current_admins`, 
      (SELECT count(id) FROM `account_users` WHERE `acount_id`=?) AS `current_users`
 FROM ....