最近正在做一个显示消息的列表页,列表页中需要根据一个字段来分组显示。并且需要一个分页的效果。

大家也知道group by 后的数据是每一组一行记录,统计分组后的总的记录数又不能用count,所以SQL_CALC_FOUND_ROWS就派上用场了。

所谓SQL_CALC_FOUND_ROWS是指在执行带LIMIT的查询时,附带统计一下如果不加LIMIT的话将会输出多少条结果。

用法:

SELECT SQL_CALC_FOUND_ROWS * FROM `TA` LEFT JOIN `TB` on TA.id = TB.a_id GROUP BY TA.id ORDER BY ctime desc limit 0,20;

查询完毕后再执行:

SELECT FOUND_ROWS();

这个语句返回group by 后的总记录数,如下图:

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKgAAABICAIAAADtbSlhAAAFSUlEQVR4nO2ay47aSBRA70fFlsW/RAID/SFZBJoWiE+YVVYWMkLub8gOtRo0yLCdZJa0PcFkYtNZ1MNlbMDj9qOm6x5dKXY9r+uY9OvCK8OyLH693+/3+71lWX+n+fLxw6evwr9CB3z8Et9+/fQBkoi9/xnLsrLzETdM7HB+z1vP8i6WzKuUZBxRQkt8A+Icfn1NfEPcFl8j/yfxF7gh/rs0EPFNZ0GRWXzOR7gh/ps0EPFNZ0GRWXzOR0DxRXj/4v+SBiK+6SwoMovP+QjZ4i3kFk1ovU3+/C+KbyJtpD5QvKKgeEW5Lf4P5D2SS3x4i91uF51ef/yLUV9Ep9fdblftJz6v+J8Y9YVE4v/5iVFfSCX+hFFboHhFA8UrGhKJ948n/+gOdaH2Qp88HU/+8eSvJ1rcagzXJ5+0H51O4vbkrycanUWWSvbO+5Do5fRnR2FYIi6kdDWxWReg6/BhTw+GOFG4dTpscmd+SozvOrMuaA/uhazeGlKJj8gpd+aRfxRi3gcwhmt2u55owMcQ8cJgKp4t1SWmhaXE3rm4RWpfGomRzOitxObivvwVjBfRHlxina3sDvX+LOMRkk9XXsgvXjwd0RM5plvi5+5QJ6d8VTzVxo7+snh/3mfirya2nmhxYk4H+p2u6NgYrsVUEzHrZm73jsUHkR+4Qx06duQHLOw+6JOnQGgJIj9wOmAMV+IFi9VEo+PZUquJBmzNeLXURhkt6XZ3qIM2cnMkJsyy+2A6TyMDTIdmCP0ZHZze0R3qwhPFj1NyyCieo43cC+fLjzWH+CB6GhlAzrqo+PirON/rRmIRNz0z2ftHxtt9+gaQa/IdRuLVuXL7HsV7QeQF7kCHth15AQu7D/pkGQgtdJgxWEVe4LSBXLBYTTQ6XlzKHegApiOsltooXjO9Fx1pmQCmky8xnglvoReWCdrIFWctRwYAWznO/3pWbw2pxIdesBno0LZDL+CxaMNZS+jZPYCelTne7oE+Xqa7VmMNoG1e6E1MPAtxpJjM9cTIgJ61GmtsWcuEtr0Z6MZgld6Fr7Zoxyukb0sL+cWHy5EBIBwWUWiLveJZgzbaZC5FP1iZ4u1eYouL4sPlyODvx/XEqGmzx/IJPbsHZq/NX6/VWDMXgmCyFL/ga75v8dHJO4TegZ3yIRnPY/HH5cFzotcyhW8L7jesPb3UZqAD6OMlv45/OieNmXG2zmagA5iLPIl5dg9AnLtogzD3EC7vDT6ZD7NMYYrdE8eXGFF0kkX8yyHEeDmEL89jTR8vD+HLYfNZNz4/V7KLVOJ/SRCLNiRo2w2ksbw3wFxYJmj3f1a0hUzif/zCqC1kER+i+HojRPFqBopXNOoQv0NkpVrx1yto3/ibBKQw+/2+8Nzc4isr90QKU4f46so9kcLUI76q4i+kMCheUeoTDwAoXh7qEE8qO8lvv8st90RiHu/YXxha022iZzttnTfVJT7yjxH/y0eJVX8I4/GOu328A7h7JNfbaSvzXWhEvOgexVfA4x0VvZ22oDXd8nuRWsQHkR8kxANAKVV/SAbiJ541SCSeuEfxJbOdts60NyieVHaeWS+l3BMR2U5bWV/NmxQfekGYtF5O1R/CSf0Hn+iSQnyJ5Z4IZTttXdLemHhaQUvFl1vuiVDiH+Ip4lvQmHhS2QkApZd7IoWpR3xV5Z5IYWoRf7kGCMU3ReXir9fTvbH4CykMilcUFK8olYvPU+65R5qgWvGFV0ekBcUrCopXFBSvKCheUVC8oqB4RUHxioLiFQXFKwqKVxQUrygoXlFQvKKgeEVB8YqC4hXlNx6OZoBg5CNAAAAAAElFTkSuQmCC" alt="" />

FOUND_ROWS()得到的数字是临时的,执行下一条语句就会失效。所以保存在一个变量中为我们所用就OK了。

group by 获取总记录数

sql中有group buy 后如何获取总记录的条数,来生成分页 当然一般情况下我是不推荐这样的分页,如果你真的需要应该是你表结构设计有问题 1.适用于所有情况 $db = new PDO(DSN.. ...

MySql中对Group by后的结果数进行Count

今天在写MySQ的SQL语句的时候遇到了一个奇怪的问题 select count(*) from subsitealbum t1, photo t2,files t3 where t1.SourceA ...

利用mysql中if函数排序

格式:IF(Condition,A,B) 意义:当Condition为TRUE时,返回A:当Condition为FALSE时,返回B. 作用:作为条件语句使用. select if(`from_use ...

MySQL中varchar类型在5.0.3后的变化

1.mysql varchar类型变化:mysql 5.0.3 之前: 0--255字节 varchar(20)中的20表示字节数,如果存放urf8编码的话只能放6个汉字. MySQL 5.0.3 之 ...

关于MySQL中查询结果的count和from后的条件与where后的条件对比

啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦 ...

SQL分组多列统计(GROUP BY后按条件分列统计)

as tjsl from fyxx group by zt,whbmbh end) as ybhsl from fyxx group by whbmbh 下面是摘自别人的博客 最近遇到一个问题,需要对 ...

【数据库】SQL分组多列统计(GROUP BY后按条件分列统计)

select whbmbh ,zt,1 as tjsl from fyxx group by zt,whbmbh select whbmbh,sum(case zt when '有效' then 1 ...

mysql 数据操作 单表查询 limit 限制查询的记录数

mysql; +----+-----------+------+-----+------------+---------+--------------+------------+--------+-- ...

mysql查询不重复的行内容,不重复的记录数.count,distinct

有这么一个表 记录了id, p_id, p_name , p_content , p_time 1  343        aaa            aaaaaa   2012-09-01 2   ...

随机推荐

docker log 文件 清理

1 查看docker log 文件位置  docker inspect *** 2 定时清理 runcate -s 0 /var/lib/docker/containers/*/*-json.log

Selenium中如何使用xpath更快定位

在学习Selenium路上,踩了也不少坑,这是我最近才发现的一个新写法,好吧,"才发现"又说明我做其他事了.对的,我现在还在加班! 开车~~~ 例子:知乎网 标签:Python3. ...

一口一口吃掉Hibernate(四)——多对一单向关联映射

hibernate对于数据库的操作,全部利用面向对象的思维来理解和实现的.一般的单独表的映射,相信大家都没有问题,但是对于一些表之间的特殊关系,Hibernate提供了一些独特的方式去简化它. 今天就 ...

C++相关:C++的IO库

前言 基本的IO库设施 istream(输入流类型),提供输入操作. ostream(输出流类型),提供输出操作. cin,一个istream对象,从标准输入读取数据. cout,一个ostream对 ...

More x64 assembler fun-facts–new assembler directives(转载)

quvhu重复行MySQL,利用mysql中的SQL_CALC_FOUND_ROWS 来实现group by后的记录数统计相关推荐

  1. oracle 列 连续,oracle中某列连续相同值的记录数统计(一个简单的例子)

    oracle中某列连续相同值的记录数统计(一个简单的例子) row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 ...

  2. python去重复行_python 去除Excel中的重复行数据

    原博文 2019-08-05 16:15 − 导入pandasimport pandas as pd1.读取excel中的数据:frame = pd.DataFrame(pd.read_csv('ex ...

  3. python去重复行_python去除文件中重复的行实例

    python去除文件中重复的行,我们可以设置一个一个空list,res_list,用来加入没有出现过的字符行! 如果出现在res_list,我们就认为该行句子已经重复了,可以再加入到记录重复句子的li ...

  4. linux去除内容重复行,Linux删除文本中的重复行 - 米扑博客

    在进行文本处理的时候,我们经常遇到要删除重复行的情况.那怎么解决呢? 下面就是三种常见方法? 第一,用sort+uniq,注意,单纯uniq是不行的,uniq对于重复行不上下连续时不起作用 因此,先对 ...

  5. MyBatisPlus3.x中使用条件构造器查询某一天的记录数时的日期格式化注意

    场景 前端传过来时间,比如是'2019-05-09' 后台使用条件构造器查询数据库中某一天的记录数. 因为涉及到时间格式的问题,如果直接用时间字段是否相等来判断则不行.所以这里使用MyBatisPlu ...

  6. php txt删除重复行,php – 删除文本文件中的重复行

    问题是每行末尾的新行字符.因为在最后一行的末尾没有新行字符,所以它与其他行不同. 因此,只需在读取文件时删除它们,然后在再次保存文件时添加: $lines = file('test.txt', FIL ...

  7. linux sed给空文件首行插入_Linux系统中sed命令在文件某行前后添加内容的用法

    linux的sed工具是十分强大的,能很容易的实现在某关键词的前一行或后一行增加内容.今天在批量修改tomcat的日志时就用到了该功能. 一.在某行的前一行或后一行添加内容 具休操作如下: 复制代码 ...

  8. 在一个大型流量系统中如何进行亿级UV(用户访问记录)统计

    文章目录

  9. 温故知新MySQL--如何在MySQL表中删除重复行

    2019独角兽企业重金招聘Python工程师标准>>> 如何在MySQL表中删除重复行 在实际应用中,会有需要删除重复数据的场景.这里简单介绍下如何删除重复的数据 1. 准备数据 C ...

最新文章

  1. java后端判断用户是否关注公众号
  2. /opt/hbase/conf 中不能启动hbase_Hbase从入门到入坑
  3. Bootloader启动过程
  4. 网络框架 Retrofit(三)
  5. boosting算法_集成学习:boosting、BDT、GBDT的概括理解
  6. 利用反射动态实例化类执行方法并传值
  7. request.getRequestURL()和request.getRequestURI()区别
  8. JAVA IO - 高效读取大文件的后几行
  9. python-学生管理系统--1框架部分内容以及代码
  10. Tomcat 内存溢出问题与解决方法
  11. 计算机每次启动时系统时间不更新,电脑每次开机都要重新设置时间
  12. python设置颜色_使用python改变颜色的色调
  13. 用Python快速分析和预测股票价格
  14. ssm+java计算机毕业设计英雄联盟俱乐部管理系统j4oh6(程序+lw+源码+远程部署)
  15. oracle数据库经典练习题及答案
  16. 从租售比看中国房价的合理性
  17. clear:both的认知
  18. 人工智能技术在教育领域中的应用
  19. 紧随时代的步伐--Java8之Lambda表达式的使用
  20. 光遇测试服怎么显示服务器错误,光遇服务器错误怎么办_光遇服务器错误解决方法_3DM手游...

热门文章

  1. 江民科技创始人王江民:传奇一生
  2. ORACLE数据库 某用户账户被锁定问题解决
  3. bzoj5144 [Ynoi2018]末日时在做什么?有没有空?可以来拯救吗?
  4. Carbide.c++ For Symbian 搭建开发环境
  5. matlab在振动信号处理中的应用,关于《matlab在振动信号处理中的应用》
  6. Win10家庭版安装docker(最新)
  7. 【Canvas】js用canvas绘制一个钟表时钟动画效果
  8. HTML画正方形钟表,html画圆形时钟
  9. 参选企业见证HCFT实力 那些角逐品牌盛会奖项的大佬们
  10. 初等模型---双层玻璃窗的功效