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

    SELECT     
            t.report_date  
            ,t.user_id        
        FROM   
        my_table t  
        GROUP BY t.user_id,t.report_date  

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

阅读更多
个人分类: 数据库
上一篇php保留两位小数,四舍五入与否
下一篇PHP通过正则表达式获取网页中的所有图片
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭