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

时间:2021-11-11 00:54:23

比如有这样一条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