mysql获取group by的总记录行数另类方法
mysql获取group by内部可以获取到某字段的记录分组统计总数,而无法统计出分组的记录数。
mysql的SQL_CALC_FOUND_ROWS 使用 获取查询的行数 在很多分页的程序中都这样写:
代码如下
SELECT COUNT(*) from `table` WHERE ......;
查出符合条件的记录总数
代码如下
SELECT * FROM `table` WHERE ...... limit M,N;
查询当页要显示的数据 这样的语句可以改成:
代码如下
SELECT SQL_CALC_FOUND_ROWS * FROM `table` WHERE ...... limit M, N;
SELECT FOUND_ROWS();
因此可以配合mysql自带的SQL_CALC_FOUND_ROWS和FOUND_ROWS()函数可以实现。
代码如下
SELECT SQL_CALC_FOUND_ROWS t3.id, a,bunch,of,other,stuff FROM t1, t2, t3 WHERE(associate t1,t2,and t3 with each other) GROUPBY t3.id LIMIT 10,20SELECT FOUND_ROWS() as count;
使用以上两个语句即可完成满足group by的总记录行数。
另附:
group by 的简单使用方法:
代码如下
'SELECT column_id,count(*) as count FROM my_table group by column_id';
相关推荐
-
MySQL获取所有分类的前N条记录
比如有文章表 Article(Id,Category,InsertDate),现在要用SQL找出每种类型中时间最新的前N个数据组成的集合,一段不错的代码,留存备用 SELECT A1.* FROM Article AS A1 INNER JOIN (SELECT A.Category,A.InsertDate FROM Article AS A LEFT JOIN Article AS B ON A.Category = B.Category AND A.InsertDate <= B.Inse
-
PHP获取MySql新增记录ID值的3种方法
一.使用语句: 复制代码 代码如下: mysql_query("select max(id) from t1",$link); 使用此方法得到的是 id最大的值,确为最后一个值,但当多链接线程时,这个最大的id并不一定是我们插入数据的自增id值,因此不适用于多线程. 二,使用函数:msyql_insert_id(); 在PHP中,经常需要把插入数据库中的id值取出来,而正好有这么一个函数: 复制代码 代码如下: <?php //执行插入数据库的语句 //-- $getID=mys
-
Java获取最后插入MySQL记录的自增ID值的3种方法
方法一: 复制代码 代码如下: String sql = "INSERT INTO users (username,password,email) VALUES (?,?,?);";PreparedStatement pstmt = (PreparedStatement) conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);//传入参数:Statement.RETURN_GENERATED_KEYSpstmt.setSt
-
MYSQL中获取得最后一条记录的语句
在MySQL中,使用auto_increment类型的id字段作为表的主键,并用它作为其他表的外键,形成"主从表结构",这是数据库设计中常见的用法.但是在具体生成id的时候,我们的操作顺序一般是:先在主表中插入记录,然后获得自动生成的id,以它为基础插入从表的记录.这里面有个困难,就是插入主表记录后,如何获得它对应的id.通常的做法,是通过"select max(id) from tablename"的做法,但是显然这种做法需要考虑并发的情况,需要在事务中对主表加以
-
mysql获取group by总记录行数的方法
本文实例讲述了mysql获取group by总记录行数的方法,分享给大家供大家参考.具体方法分析如下: 一般来说,mysql获取group by内部可以获取到某字段的记录分组统计总数,而无法统计出分组的记录数. mysql中可以使用SQL_CALC_FOUND_ROWS来获取查询的行数,在很多分页的程序中都这样写: 复制代码 代码如下: SELECT COUNT(*) from `table` WHERE ......; 查出符合条件的记录总数: 复制代码 代码如下: SELECT * FROM
-
mysql获取group by的总记录行数另类方法
mysql获取group by内部可以获取到某字段的记录分组统计总数,而无法统计出分组的记录数. mysql的SQL_CALC_FOUND_ROWS 使用 获取查询的行数 在很多分页的程序中都这样写: 代码如下 SELECT COUNT(*) from `table` WHERE ......; 查出符合条件的记录总数 代码如下 SELECT * FROM `table` WHERE ...... limit M,N; 查询当页要显示的数据 这样的语句可以改成: 代码如下 SELECT SQL_
-
php更新mysql后获取改变行数的方法
本文实例讲述了php更新mysql后获取改变行数的方法.分享给大家供大家参考.具体分析如下: 一个php更新mysql后获取改变的行数,在php中提供mysql函数来获取最后执行查询所影响的记录数:mysql_affected_rows(), 返回最近一次与 连接句柄 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数.FOUND_ROWS() : select ROW_COUNT():update delete insert. 下面就是文章的主要内容描述,代码如下: 复
-
基于vue v-for 多层循环嵌套获取行数的方法
在做vue项目的时候难免会用到循环,可是但我们后台数据返回多条记录而且是多层嵌套关系的时候,我们需要获取当前第几次循环此时就会出现问题. 下面给大家介绍两种方式,第一种是基于数学公式:第一次循环*(第二次循环总长度)+1+第二次循环 可以获取当前第几次循环 第二种方法:是在方法中进行计算返回当前下标.废话不多说先看一下效果吧 具体代码如下: 测试数据json字符串: parentList: [{ childList: [{ index: 1, childName: "第一个节点" },
-
批处理获取文件夹下面txt文件行数并添加到文件名后
方法一: @echo off&setlocal enabledelayedexpansion for /f "delims=" %%a in ('dir /a-d/b/s *.txt') do ( for /f "tokens=3 delims=:" %%b in ('find /c /v "" "%%a"') do set n=%%b ren "%%a" "%%~na_!n: =!%%~
-
MySQL通过触发器解决数据库中表的行数限制详解及实例
MySQL通过触发器解决数据库中表的行数限制详解及实例 最近项目一个需求是对操作日志的数量限制为10万条,超过十万条便删除最旧的那一条,保存数据库中日志数量不超过10万. 当时我的第一想法是通过触发器来做,便在数据库中执行了如下的SQL: delimiter $ create trigger limitLog before insert on OperationLog for each row begin if (select count(*) from OperationLog) > 1000
-
PHP获取文件行数的方法
本文实例讲述了PHP获取文件行数的方法.分享给大家供大家参考.具体分析如下: 提供两种实现方法,虽然第二种简单易懂,但是第一种效率最好 第一种: <?php $file_path = 'xxx.txt'; //文件路径 $line = 0 ; //初始化行数 //打开文件 $fp = fopen($file_path , 'r') or die("open file failure!"); if($fp){ //获取文件的一行内容,注意:需要php5才支持该函数: while(s
-
在.NET中取得代码行数的方法
文章目的 介绍在.NET中取得代码行数的方法 代码 复制代码 代码如下: [STAThread] static void Main(string[] args) { ReportError("Yay!"); } static private void ReportError(string Message) { StackFrame CallStack = new StackFrame(1, true); Console.Write("Error: " + Messa
-
php使用PDO下exec()函数查询执行后受影响行数的方法
本文实例讲述了php使用PDO下exec()函数查询执行后受影响行数的方法.分享给大家供大家参考,具体如下: exec()方法返回执行后受影响的行数. 语法:int PDO::exec(string statement) 提示: 参数statement是要执行的SQL语句.该方法返回执行查询时受影响的行数,通常用于insert,delete和update语句中.但不能用于select查询,返回查询结果. 为了验证这个提示,下面我分别对insert,delete,update,select 查询进
-
python计算文本文件行数的方法
本文实例讲述了python计算文本文件行数的方法.分享给大家供大家参考.具体实现方法如下: filename = "somefile.txt" myfile = open(filename) lines = len(myfile.readlines()) print "There are %d lines in %s" % (lines, filename) 希望本文所述对大家的Python程序设计有所帮助.
随机推荐
- 不错的rss看样要学习了
- 详解Java如何获取文件编码格式
- iOS实现MJRefresh下拉刷新(上拉加载)使用详解
- JS getStyle获取最终样式函数代码
- PHP程序员最常犯的11个MySQL错误小结
- PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么
- Python Socket实现简单TCP Server/client功能示例
- C++实现汉诺塔算法经典实例
- Javascript WebSocket使用实例介绍(简明入门教程)
- MySQL Memory 存储引擎浅析
- JSP中 Session和作用域的使用
- CSS布局中可以用javascript判断浏览器版本
- Javascript调试脚本的经验之谈第1/2页
- EditText限制小数点前后位数的实例
- 小试JQuery的AutoComplete插件
- 从零开始学习jQuery (七) jQuery动画实现 让页面动起来
- Pclxav木马猎手第一代特征码引擎源代码
- win7+apache+php+mysql环境配置操作详解
- c#基数排序Radix sort的实现方法
- 7个超级实用的PHP代码片段