MySQL:分组统计后得到总查询数

标签 mysql count

我有以下查询:

select count(*) c , id 
from hr 
where  time >= '2011-11-8 00:00:00' and 
       time <= '2011-12-9 23:59:59' 
group by id 
having c>3;

结果列表可能非常庞大(有时多达 10,000 项),我不想列出所有项目,因为我只想获取总数。除了“select found_rows()”,我试图找到一个 sql 语句来完成工作而不打印列表。 (我没有使用 Perl、PHP 或任何其他 API,仅使用 sql)

有什么想法吗?

提前致谢。

最佳答案

将其包裹在子查询中并再次统计记录

SELECT COUNT(*) totalCount
FROM
(
    select count(*) c , id 
    from hr 
    where  time >= '2011-11-8 00:00:00' and 
           time <= '2011-12-9 23:59:59' 
    group by id 
    having COUNT(*) > 3
) x

关于MySQL:分组统计后得到总查询数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11787622/

相关文章:

php - 加速 Polymer Dart 的最佳实践?

ruby-on-rails - Array.count 在本地工作正常但在 heroku 上中断

android - 如何将每个联系人的 SMS 消息计数放入 TextView 中?

javascript - 每小时自动运行 PHP 页面 - 无需使用 Cron 作业

php - HTML php 本地主机数据库检索

mysql - 复制表时将 varchar 转换为 int

java - 如何使用 Selenium WebDriver 复制表格?

r - 如何将数据框的一列划分为另一列?

mysql - 同时获取组和计数

mysql - 为什么此代码能够在 HAVING 中使用来自 SELECT 的别名?