嗨,我需要这样的查询
从员工中选择 count(id) where.. => 给出 count1=10 从 emplyer 中选择 count(id) where.. => 给出 count2=5 从用户中选择 count(id) 其中.. => 给出 count3=20
我可以像这样添加这些结果
计数=计数1+计数2+计数3;
但我想知道是否有任何选项使用单个查询获取计数,而不是单独添加这些结果。另外我想知道在应用程序性能的情况下哪一种是最好的方法。
嗨,我需要这样的查询
从员工中选择 count(id) where.. => 给出 count1=10 从 emplyer 中选择 count(id) where.. => 给出 count2=5 从用户中选择 count(id) 其中.. => 给出 count3=20
我可以像这样添加这些结果
计数=计数1+计数2+计数3;
但我想知道是否有任何选项使用单个查询获取计数,而不是单独添加这些结果。另外我想知道在应用程序性能的情况下哪一种是最好的方法。
你可以做
SELECT ((select count(id) from employee where..) + (select count(id) from emplyer where..) + (select count(id) from users where..))
几乎不会有性能差异——添加三个整数对 MySql 和 php 引擎都不是挑战。
如果您使用 group by 子句,您可以添加选项 WITH ROLLUP 它将返回组中所有计数的总和。见http://dev.mysql.com/doc/refman/5.0/en/group-by-modifiers.html