当前位置: 首页 > 编程笔记 >

mysql获取group by的总记录行数另类方法

姬振濂
2023-03-14
本文向大家介绍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';

 类似资料:
  • 问题内容: 对于像这样的简单SQL, 如何将行号添加到它们,以使行号变为1,2和3? 更新: 我以为我可以像上面那样简化我的问题,但是事实却更加复杂。所以这是一个完整的版本-我需要MyTable为每个人提供三个随机选择(来自),选择/行数分别为1、2和3,并且人与选择之间没有逻辑上的联系。 上面的SQL的问题是, 显然,应该添加1、2和3的拾​​取/行数 而且不明显的是,上面的SQL将给每个人相同

  • 问题内容: 在下表中,如何仅根据登录列获取的 最新记录 ,而不是所有3条记录? 问题答案: 使用按ID分组的汇总。这将列出每个最新的。 要获取完整的单个记录,请对仅返回每个ID 的子查询执行。

  • 本文向大家介绍MySQL获取所有分类的前N条记录,包括了MySQL获取所有分类的前N条记录的使用技巧和注意事项,需要的朋友参考一下 比如有文章表 Article(Id,Category,InsertDate),现在要用SQL找出每种类型中时间最新的前N个数据组成的集合,一段不错的代码,留存备用 @N 就是你要取多少条 下面是我用到了一个产品分类表中,superId是大分类,prcid是产品分类。能

  • 我写了一个应用程序,可以在NFC标签上读写ndef消息。我的应用程序可以在NDEF消息中读取和写入两条NDEF记录。但当我展示一个在NDEF消息中只有一条NDEF记录的标签时,应用程序崩溃了。我知道背后的原因。我也知道如何解决它,但要解决它,我需要知道如何获得NDEF消息中的记录数?

  • 本文向大家介绍PHP获取MySql新增记录ID值的3种方法,包括了PHP获取MySql新增记录ID值的3种方法的使用技巧和注意事项,需要的朋友参考一下 一、使用语句:   使用此方法得到的是 id最大的值,确为最后一个值,但当多链接线程时,这个最大的id并不一定是我们插入数据的自增id值,因此不适用于多线程。 二,使用函数:msyql_insert_id(); 在PHP中,经常需要把插入数据库中的

  • 问题内容: 在sql server中查询表时,im试图仅获取记录的当前页面。但是,我需要为特定查询返回的记录总数,以计算页面数。如何有效地做到这一点,而无需编写另一个查询来对记录进行计数。 问题答案: 如果您添加第二种排序方式而不是,则可以通过将两个行计数加在一起再减去一个来计算记录总数。rsult集中的任何行都将具有正确的总行数: