如何使用 mysql5 中的查询添加不同查询的计数?
Posted
技术标签:
【中文标题】如何使用 mysql5 中的查询添加不同查询的计数?【英文标题】:How to add count of different query using a query in mysql5? 【发布时间】:2011-10-27 21:18:14 【问题描述】:您好,我需要这样的查询
从员工中选择 count(id) where.. => 给出 count1=10 select count(id) from emplyer where.. => 给出 count2=5 从用户中选择 count(id) 其中.. => 给出 count3=20我可以像这样添加这些结果
计数=计数1+计数2+计数3;但我想知道是否有任何选项可以使用单个查询获取计数,而不是单独添加这些结果。另外我想知道在应用程序性能的情况下哪一种是最好的方法。
【问题讨论】:
【参考方案1】:你可以的
SELECT ((select count(id) from employee where..) + (select count(id) from emplyer where..) + (select count(id) from users where..))
几乎不会有性能差异——添加三个整数对 mysql 和 php 引擎来说都不是挑战。
【讨论】:
对不起.. 不仅有加法,而且还有三个以上的查询来获取该计数值这些不是简单的获取查询。所以我问性能【参考方案2】:如果您使用 group by 子句,您可以添加选项 WITH ROLLUP,它将返回组中所有计数的总和。见http://dev.mysql.com/doc/refman/5.0/en/group-by-modifiers.html
【讨论】:
以上是关于如何使用 mysql5 中的查询添加不同查询的计数?的主要内容,如果未能解决你的问题,请参考以下文章