MySQL 查询分页数据中分组后取每组的前N条记录
来源:互联网 发布:linux下system函数 编辑:程序博客网 时间:2024/05/01 21:57
在使用数据库查询的时候,如果遇到对分页的数据分组,取每组的前N条,实际就是两次分页,先分页,在对分组的每组排序分页。SQL 如下
select a.* from(select t1.*,(select count(*)+1 from 表 where 分组字段=t1.分组字段 and 排序字段<t1.排序字段) as group_idfrom 表 t1) awhere a.group_id<=3
实例,文章和评论,查询出前2篇文章和对应每篇文章的前2条评论
SELECT a.*,c.content as c_contentFROM (select ax.* from t_article ax ORDER BY id desc limit 0,2) as aLEFT JOIN(select c1.* from ( select t1.*,(select count(1)+1 from t_comment where article_id=t1.article_id and id>t1.id) as group_id from t_comment t1 ) c1where group_id<3order by c1.group_id desc) as c ON a.id = c.article_idWHERE 1 = 1ORDER BY a.id DESC
a – article ,c–comment
0 0
- MySQL 查询分页数据中分组后取每组的前N条记录
- MySQL 查询分页数据中分组后取每组的前N条记录
- Oracle分组查询取每组排序后的前N条记录
- 分组查询取每组前n条记录实例
- 分组后查找每组的前N条记录
- [MySQL]分组后查找每组的前N条记录语句
- mysql分组查询并只显示每组数据的前N条数据
- row_number和partition by分组取top数据,每组查询前N条
- sql 分组取每组的前n条或每组的n%(百分之n)的数据
- mysql分组取前n条记录
- MYSQL 分组取前N条数据
- orcale 查询分组后的前n条记录
- Oracle 分组后取每组的第一条记录
- oracle中,分组后,取各组的前n条记录的sql
- 用postgresql特性简化group by 后取每组前n条记录的方法
- 用postgresql特性简化group by 后取每组前n条记录的方法
- Postgresql查询每组的前N条记录
- Oracle数据分组后取每组的一条记录
- windows查看被占用端口
- 下载android源码的简单方法
- python设计模式之状态模式
- 20个实用的webApp前端开发技巧
- 架构师速成6.7-设计开发思路-uml
- MySQL 查询分页数据中分组后取每组的前N条记录
- nyoj 106背包问题
- 哈夫曼树 之 Java详解
- spring 专业术语概述
- 二叉树的总结
- 地图定位不准问题
- iOS学习笔记连载文章一
- python设计模式之Borg模式
- 实现输出h264直播流的rtmp服务器 flash直播服务器