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();

因(www.111cn.net)此可以配合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‘;

from:http://www.111cn.net/database/mysql/50323.htm

时间: 2025-01-09 11:56:58

mysql获取group by的总记录行数方法的相关文章

统计Eclipse中项目的总代码行数

在Eclipse中写Android项目,想要统计项目中写了多少行代码(大概数字,因为代码中还是有很多空白行的),怎么统计呢?把一个个代码文件有多少行先记下来,然后再加起来显然很费心费神,那怎么办呢?可以用Eclipse的文件搜索功能来统计. 步骤如下: 1.只选中项目中所有自己写的代码的目录(按住Ctrl连续选中),因为项目中还是有很多自动生成和第三方库的代码的,这些不能算到总代码行数中去.如下图所示,这里主要选择了src.layout.values这三个目录和AndroidManifest.x

mysql查看数据库中所有表的行数,并进行排序

mysql查看数据库中所有表的行数,并进行排序: 进行数据库迁移或还原后,可以通过比较行数,检查数据是否正确. mysql> use information_schema; mysql> select table_name,table_rows from tables where TABLE_SCHEMA= 'kpsumi' order by table_rows desc; 原文地址:http://blog.51cto.com/9285090/2119096

CI中获取读操作的结果集行数+获取写操作的影响行数

本质:读操作,用mysql_num_rows函数,写操作用mysql_affected_rows函数 mysql_num_rows() 返回结果集中行的数目.此命令仅对 SELECT 语句有效.要取得被 INSERT,UPDATE 或者 DELETE 查询所影响到的行的数目,用 mysql_affected_rows(). CI中的方法: 读操作,获取行数: $query->num_rows() 该函数将会返回当前请求的行数.在本例子中, $query 表示当前 SQL 所产生的请求结果对象:

mysql导出指所有表的定行数记录

mysqldump --opt -t hyip -u root -p --where "1=1 limit 1">hjn1.sql mysql导出表结构 mysqldump --opt -d hyip -u root -p>hjn.sql

MySQL获取group后所有组的第一条数据

https://stackoverflow.com/a/28090544/8025086 https://www.xaprb.com/blog/2006/12/07/how-to-select-the-firstleastmax-row-per-group-in-sql/ 原文地址:https://www.cnblogs.com/buxizhizhoum/p/10658122.html

(转)MYSQL获取自增主键【4种方法】

通过JDBC2.0提供的insertRow()方式 通过JDBC3.0提供的getGeneratedKeys()方式 通过SQL select LAST_INSERT_ID()函数 通过SQL @@IDENTITY 变量 1. 通过JDBC2.0提供的insertRow()方式 自jdbc2.0以来,可以通过下面的方式执行. [java] view plain copy print? Statement stmt = null; ResultSet rs = null; try { stmt =

MySQL通过触发器解决数据库中表的行数限制的需求

最近项目一个需求是对操作日志的数量限制为10万条,超过十万条便删除最旧的那一条,保存数据库中日志数量不超过10万. 当时我的第一想法是通过触发器来做,便在数据库中执行了如下的SQL: delimiter $ create trigger limitLog before insert on OperationLog for each row begin if (select count(*) from OperationLog) > 100000 then delete from Operatio

php 写入数据到MySQL以及从MySQL获取数据,页面出现乱码的解决方法

现象如标题. 解决思路: 1,在php中添加 header('charset=utf-8'); 2,在连接到数据库后,添加如下代码,写入数据和获取数据的地方均要添加 mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_serve

Thinkphp 下 MySQL group by 接count 获得条数方法

比如 下面的语句 , 用于分组统计 select count(*) from es_diabetes where uid=43658 GROUP BY uniques 结果明显不是我们想要得,为什么呢,因为这是个group up分组 改为下面的,先去重 , 再分组 select count(DISTINCT uniques ) from es_diabetes where uid=43658 group by 是分组,不能直接用于 count 统计 但是select还是可以的 或者 可以使用 子