0

嗨,我需要这样的查询

    从员工中选择 count(id) where.. => 给出 count1=10

    从 emplyer 中选择 count(id) where.. => 给出 count2=5

    从用户中选择 count(id) 其中.. => 给出 count3=20

我可以像这样添加这些结果

    计数=计数1+计数2+计数3;

但我想知道是否有任何选项使用单个查询获取计数,而不是单独添加这些结果。另外我想知道在应用程序性能的情况下哪一种是最好的方法。

4

2 回答 2

3

你可以做

SELECT ((select count(id) from employee where..) + (select count(id) from emplyer where..) + (select count(id) from users where..))

几乎不会有性能差异——添加三个整数对 MySql 和 php 引擎都不是挑战。

于 2011-08-16T09:00:30.647 回答
0

如果您使用 group by 子句,您可以添加选项 WITH ROLLUP 它将返回组中所有计数的总和。见http://dev.mysql.com/doc/refman/5.0/en/group-by-modifiers.html

于 2011-08-16T10:02:44.640 回答