Mysql取分组中前N条记录
表结构如下:
CREATE TABLE `dwb_rmirror_req_d` (
`thedate` varchar(10) NOT NULL DEFAULT '',
`node` varchar(15) NOT NULL DEFAULT '',
`req_num` bigint(20) DEFAULT NULL,
PRIMARY KEY (`thedate`,`node`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
表中的记录如下:
mysql> select * from dwb_rmirror_req_d;
+----------+------+------------+
| thedate | node | req_num |
+----------+------+------------+
| 20160215 | f | 2 |
| 20160215 | i | 1 |
| 20160215 | l | 3 |
| 20160217 | f | 2 |
| 20160217 | i | 1 |
| 20160217 | l | 3 |
| 20160218 | f | 2 |
| 20160218 | i | 1 |
| 20160218 | l | 3 |
| 20160219 | f | 2 |
| 20160219 | i | 1 |
| 20160219 | l | 3 |
| 20160220 | f | 2 |
| 20160220 | i | 1 |
| 20160220 | l | 3 |
| 20160221 | f | 2 |
| 20160221 | i | 1 |
| 20160221 | l | 3 |
+----------+------+------------+
18 rows in set (0.00 sec)
1.获取每天查询量最大的记录:
select a.thedate,a.node,a.req_num from dwb_rmirror_req_d a left join dwb_rmirror_req_d b
on a.thedate = b.thedate and a.req_num <= b.req_num
group by a.thedate,a.node,a.req_num
having count(b.node)<=1;
结果如下:
+----------+------+------------+
| thedate | node | req_num |
+----------+------+------------+
| 20160215 | l | 3 |
| 20160217 | l | 3 |
| 20160218 | l | 3 |
| 20160219 | l | 3 |
| 20160220 | l | 3 |
| 20160221 | l | 3 |
+----------+------+------------+
6 rows in set (0.01 sec)
2. 获取每天查询量最高的两条记录:
select a.thedate,a.node,a.req_num from dwb_rmirror_req_d a left join dwb_rmirror_req_d b
on a.thedate = b.thedate and a.req_num <= b.req_num
group by a.thedate,a.node,a.req_num
having count(b.node)<=2
order by a.thedate,a.req_num;
结果如下:
+----------+------+------------+
| thedate | node | req_num |
+----------+------+------------+
| 20160215 | f | 2 |
| 20160215 | l | 3 |
| 20160217 | f | 2 |
| 20160217 | l | 3 |
| 20160218 | f | 2 |
| 20160218 | l | 3 |
| 20160219 | f | 2 |
| 20160219 | l | 3 |
| 20160220 | f | 2 |
| 20160220 | l | 3 |
| 20160221 | f | 2 |
| 20160221 | l | 3 |
+----------+------+------------+
12 rows in set (0.01 sec)
Mysql取分组中前N条记录相关推荐
- mysql 分组取最新的一条记录(整条记录)
方法:mysql取分组后最新的一条记录,下面两种方法.一种是先筛选 出最大和最新的时间,在连表查询.一种是先排序,然后在次分组查询(默认第一条),就是最新的一条数据了 #select * from t ...
- mysql分组查询选择数量最多的前十个_mysql 查询每一个分组前N条记录
mysql 查询每一个分组前N条记录html 假设存在表movie, 有字段 id, part(地区), mcount(观看次数)mysql 现查询每一个地区观看次数最多的3部movie, 则表sq ...
- mysql随机取出每个分组前2条记录
mysql随机取出每个分组前2条记录 SELECT a.* FROMt_notary_business AS a,(SELECT GROUP_CONCAT(id order by rand()) AS ...
- MySQL使用GROUP_CONCAT()函数按ID分组将多条记录的某个字段以逗号或者指定分隔号隔开成一条记录
MySQL使用GROUP_CONCAT()函数按ID分组将多条记录的某个字段以逗号或者指定分隔号隔开成一条记录 MySQL 2014-08-27 26945阅读 0评论 0收藏 收藏本文 这篇 ...
- MySQL使用INSERT插入多条记录
2019独角兽企业重金招聘Python工程师标准>>> MySQL使用INSERT插入多条记录,应该如何操作呢?下面就为您详细介绍MySQL使用INSERT插入多条记录的实现方法,供 ...
- MYSQL学习:GROUP BY分组取最新的一条记录
日常开发当中,经常会遇到查询分组数据中最新的一条记录,比如统计当前系统每个人的最新登录记录.外卖系统统计所有买家最新的一次订单记录.图书管理系统借阅者最新借阅书籍的记录等等.今天给大家介绍一下如何实现 ...
- 分区函数Partition By的与row_number()的用法以及与排序rank()的用法详解(获取分组(分区)中前几条记录)...
partition by关键字是分析性函数的一部分,它和聚合函数不同的地方在于它能返回一个分组中的多条记录,而聚合函数一般只有一条反映统计值的记录,partition by用于给结果集分组,如果没有指 ...
- mysql查询最新的一条记录_mysql 查询不同用户 最新的一条记录
数据库记录: MYSQL查询不同用户 最新的一条记录 方法1:查询出结果后将时间排序后取第一条(只能取到一条,并且不能查询不同客户的记录) SELECT CUSTOMER_ID,CONTENT,MOD ...
- mysql 排序后 下一条记录_什么是MySQL InnoDB 二级索引的排序?|附实例详解
概述 今天主要给大家介绍了关于MySQL InnoDB 二级索引的排序的相关资料,通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值. 每个InnoDB表具有一个特殊的索引称为聚簇 ...
最新文章
- The Innovation | Call for Youth Editors 青年编委招募
- ByteArrayOutputStream
- Leetcode 436.寻找右区间
- Matlab:精度控制
- SQL Server 2005 COM+ 目录要求 (警告)
- 非文学翻译理论与实践_北外“欧洲非通用语文学翻译与研究中心”正式成立
- vue的v-model绑定对象属性时,更新不及时,不能修改
- Linux服务器---配置apache支持用户认证
- 负载均衡的的基本功能和实现原理
- 数据库接口实验--php实现--
- 兄弟连新版Linux视频教程
- java字符串不足长度自动补0
- 武汉大学计算机科学与技术培养方案,武汉大学计算机学院培养方案(2018版)
- html input文字缩进,使用HTML Tidy来缩进HTML代码?
- 陀螺仪-加速计-磁力计
- 2019电商数据分析师实战项目教程 电商数据分析报告 电商运营数据分析 电商数据分析流程
- springboot《计算机网络原理》课程试题库管理系统开发 毕业设计-附源码271129
- 从零开始Android游戏编程(第二版) 第二章 创建第一个程序Hello Tank
- 阿里巴巴字体图标的使用
- CF1717D Madoka and The Corruption Scheme
热门文章
- 形态学运算中腐蚀,膨胀,开运算和闭运算
- python 大括号中括号小括号的区分
- YooQ与《Charlotte》
- 超酷炫粒子背景插件—particles.js
- 使用redis做缓存,遇到Could not return the resource to the pool异常怎么办呐!
- 鸿蒙公测报名表填写,鸿蒙2.0公测报名审核要多久_鸿蒙2.0公测报名审核时间
- java 获取ftp路径_Java Source 根据输入 ftp 地址 账号 密码 路径 读取提供路径下的文件...
- C语言手写二叉树(链式存储结构)
- 怎么增加服务器容量,新睿云服务器硬盘容量怎么增加?
- 文档浏览网站 Docs4dev,内含Spring、SpringBoot、Spring Data等中英文文档