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

转载 2016年05月31日 14:27:48
    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  

相关文章推荐

MYSQL使用group by时,查询结果的总记录数

在使用group by时 select count(*) from partner.gs_user_info u group by u.username,u.game; 查询结果如下: cou...

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

本篇文章是对mysql中的单表distinct、多表group by查询去除重复记录进行了详细的分析介绍,需要的朋友参考下 单表的唯一查询用:distinct 多表的唯一查询用:group by di...
  • Hollboy
  • Hollboy
  • 2014年02月24日 10:45
  • 833

Mysql中Group By使用Having语句配合查询

注意 :having语句是必须和GROUP BY一起使用的,语句中可以只有GROUP,但是不可以只有Having,当然可以而这可以同时出现的。Having短语与WHERE的区别!!! WHERE子句...
  • Gpwner
  • Gpwner
  • 2016年05月30日 20:00
  • 3673

MySQL高级查询之与Group By集合使用介绍

转自:http://www.jb51.net/article/40712.htm 1 GROUP_CONCAT mysql> SELECT student_name,     ->   ...

MySQL中group by max如何提取最大的一条记录

tab_game tab_game_version  有这样的两张表,要查出每个游戏的最大的game_version_int值的记录   最终想得到的结果是 SQL 实现 第一...

MYSQL group by 分组后只取最大、最小值对应的记录方法

这里有2篇文章 综合起来就差不多了 工作忙 没时间整理 其实和其它数据库一样 并没有什么捷径 效率的话还是join比较快 MYSQL每个用户取1条记录的三种写法(group...

mysql中GROUP BY分组取前N条记录实现

mysql中GROUP BY分组取前N条记录实现 mysql分组,取记录 GROUP BY之后如何取每组的前两位下面我来讲述mysql中GROUP BY分组取前N条记录实现方法。 这是测试表...

[MySQL] 分组排序取前N条记录以及生成自动数字序列,类似group by后 limit

前言:        同事的业务场景是,按照cid、author分组,再按照id倒叙,取出前2条记录出来。        oracle里面可以通过row_number() OVER (PARTITIO...
  • mchdba
  • mchdba
  • 2014年09月10日 22:50
  • 10194

[MySQL] 分组排序取前N条记录以及生成自动数字序列,类似group by后 limit

前言:         同事的业务场景是,按照cid、author分组,再按照id倒叙,取出前2条记录出来。         oracle里面可以通过row_number() OVER (...
  • jumewo
  • jumewo
  • 2015年07月08日 11:05
  • 559

MySQL分组排序取前N条记录以及生成自动数字序列--group by 后 limit 外加 rownumber

同事提了一个需求,要求按照某列分组,然后将各组的前几条抽取出来。 表结构 CREATE TABLE `total_freq_ctrl` ( `time` int(10) unsigned NOT ...
  • ylqmf
  • ylqmf
  • 2014年09月02日 14:46
  • 27321
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MYSQL使用group by,如何查询出总记录数
举报原因:
原因补充:

(最多只允许输入30个字)