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 ....