mysql获取group by总记录行数的方法
本文实例讲述了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数据库程序设计有所帮助。
相关推荐
-
MySQL优化GROUP BY方案
执行GROUP BY子句的最一般的方法:先扫描整个表,然后创建一个新的临时表,表中每个组的所有行应为连续的,最后使用该临时表来找到组并应用聚集函数(如果有聚集函数).在某些情况中,MySQL通过访问索引就可以得到结果,而不用创建临时表.此类查询的 EXPLAIN 输出显示 Extra列的值为 Using index for group-by. 一. 松散索引扫描 1.满足条件 查询针对一个表. GROUP BY 使用索引的最左前缀. 只可以使用MIN()和MAX()聚集函数,并且它们均指向相
-
Mysql升级到5.7后遇到的group by查询问题解决
发现问题 最近在将mysql升级到mysql 5.7后,进行一些group by 查询时,比如下面的 SELECT *, count(id) as count FROM `news` GROUP BY `group_id` ORDER BY `inputtime` DESC LIMIT 20 就会报如下错误: SELECT list is not in GROUP BY clause and contains nonaggregated column 'news.id' which is not
-
深入解析mysql中order by与group by的顺序问题
mysql 中order by 与group by的顺序是:selectfromwheregroup byorder by注意:group by 比order by先执行,order by不会对group by 内部进行排序,如果group by后只有一条记录,那么order by 将无效.要查出group by中最大的或最小的某一字段使用 max或min函数.例:select sum(click_num) as totalnum,max(update_time) as update_time,
-
mysql筛选GROUP BY多个字段组合时的用法分享
想实现这样一种效果如果使用group by一个条件的话,得到的结果会少了很多,如何多个条件组合筛选呢 复制代码 代码如下: group by fielda,fieldb,fieldc... 循环的时候可以通过判断后一个跟前面一个是否相同来分组,一个示例 复制代码 代码如下: $result = mysql_query("SELECT groups,name,goods FROM table GROUP BY groups,name ORDER BY name"); $arr = arr
-
mysql中group by与having合用注意事项分享
group by函数应该的使用应该是SELECT 列表中指定的每一列也必须出现在 GROUP BY 子句中,除非这列是用于聚合函数,但是今天帮同事调试一个mysql中的group by函数,让我大跌眼镜,当时感觉不可思议,然后回来做了个简化版试验,试验过程如下: mysql表结构 复制代码 代码如下: mysql> desc t;+---+----–+--+-–+---+---+| Field | Type | Null | Key | Default | Extra |+---+----–+-
-
MySQL高级查询之与Group By集合使用介绍
1 GROUP_CONCAT mysql> SELECT student_name, -> GROUP_CONCAT(test_score) -> FROM student -> GROUP BY student_name; Or: mysql> SELECT student_name, -> GROUP_CONCAT(DISTINCT test_score -> ORDER
-
MySQL5.7 group by新特性报错1055的解决办法
项目中本来使用的是mysql5.6进行开发,切换到5.7之后,突然发现原来的一些sql运行都报错,错误编码1055,错误信息和sql_mode中的"only_full_group_by"有关,到网上看了原因,说是mysql5.7中only_full_group_by这个模式是默认开启的 解决办法大致有两种: 一:在sql查询语句中不需要group by的字段上使用any_value()函数 当然,这种对于已经开发了不少功能的项目不太合适,毕竟要把原来的sql都给修改一遍 二:修改my.
-
解决MySQL 5.7.9版本sql_mode=only_full_group_by问题
MySQL 5.7.9版本sql_mode=only_full_group_by问题 用到GROUP BY 语句查询时com.MySQL.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'col_user_6.a.START_TIME' which is not func
-
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: "第一个节点" },
-
PHP获取文件行数的方法
本文实例讲述了PHP获取文件行数的方法.分享给大家供大家参考.具体分析如下: 提供两种实现方法,虽然第二种简单易懂,但是第一种效率最好 第一种: <?php $file_path = 'xxx.txt'; //文件路径 $line = 0 ; //初始化行数 //打开文件 $fp = fopen($file_path , 'r') or die("open file failure!"); if($fp){ //获取文件的一行内容,注意:需要php5才支持该函数: while(s
-
C#中获取二维数组的行数和列数以及多维数组各个维度的长度
如何获取二维数组中的元素个数呢? int[,] array = new int[,] {{1,2,3},{4,5,6},{7,8,9}};//定义一个3行3列的二维数组 int row = array.Rank;//获取维数,这里指行数 int col = array.GetLength(1);//获取指定维度中的元素个数,这里也就是列数了.(0是第一维,1表示的是第二维) int col = array.GetUpperBound(0)+1;//获取指定维度的索引上限,在加上一个1就是总数,这
-
在.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程序设计有所帮助.
-
python统计一个文本中重复行数的方法
本文实例讲述了python统计一个文本中重复行数的方法.分享给大家供大家参考.具体实现方法如下: 比如有下面一个文件 2 3 1 2 我们期望得到 2,2 3,1 1,1 解决问题的思路: 出现的文本作为key, 出现的数目作为value,然后按照value排除后输出 最好按照value从大到小输出出来,可以参照: 复制代码 代码如下: in recent Python 2.7, we have new OrderedDict type, which remembers the order in
随机推荐
- PowerShell中使用Get-ChildItem命令读取目录、文件列表使用例子和小技巧
- jQuery日期范围选择器附源码下载
- 如何反编译D-Link路由器固件程序并发现它的后门
- centos 6.X升级ffmpeg包步骤详解
- Javascript ES6中数据类型Symbol的使用详解
- 利用php + Laravel如何实现部署自动化详解
- Go语言流程控制之goto语句与无限循环
- Android本地验证码的简易实现方法(防止暴力登录)
- 解决Win7 x64安装解压版mysql 5.7.18 winx64出现服务无法启动问题
- 在linux中使用包管理器安装node.js
- JavaScript阻止回车提交表单的方法
- 生成EAN13标准的条形码的ASP代码实例
- JS实现iframe编辑器光标位置插入内容的方法(兼容IE和Firefox)
- 解析数组非数字键名引号的必要性
- JavaScript Date对象使用总结
- jQuery1.5.1 animate方法源码阅读
- JavaScript实现x秒后自动跳转到一个页面
- Android手机内存中文件的读写方法小结
- Python实现将照片变成卡通图片的方法【基于opencv】
- Android短信验证码监听解决onChange多次调用的方法