关闭

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

213人阅读 评论(0) 收藏 举报
分类:
    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  

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:111184次
    • 积分:1109
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:110篇
    • 译文:0篇
    • 评论:6条
    文章分类
    最新评论