MYSQL使用group by,如何查询出总记录数

Posted 未月廿三

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL使用group by,如何查询出总记录数相关的知识,希望对你有一定的参考价值。

比如有这样一条SQL,根据t.user_id,t.report_date两个字段统计

这样前端页面能展示数据,但往往需要一个总记录数,在有分页的情况下用到

一种解决方法是在外面套一层,然后对其count(*)

SELECT COUNT(*) FROM (SELECT     
        t.report_date
        ,t.user_id      
    FROM 
    my_table t
    GROUP BY t.user_id,t.report_date ) AA

还有一种简单的方法可以这样写

SELECT COUNT(DISTINCT report_date,user_id)
FROM my_table

这样就针对上面的group by查询显示其总记录数
如果只对user_id group by

SELECT   
        t.user_id       
    FROM 
    my_table t
    GROUP BY t.user_id
SELECT COUNT(DISTINCT user_id) FROM my_table

以上是关于MYSQL使用group by,如何查询出总记录数的主要内容,如果未能解决你的问题,请参考以下文章

将 HQL 与 MySQL 一起使用,如何在 group by 之前对结果集进行排序,以便选择正确的记录?

mysql中“group by、having、order by、limit”的顺序及用法是啥?

在 mysql 中使用 group by 查询和 order by 查询选择

解析mysql中:单表distinct多表group by查询去除重复记录

mysql中的select语句where条件group by ,having , order by,limit的顺序及用法

Python学习之旅—Mysql数据库之表操作(where+group by+having+order by)