mysql实现每组取前N条记录的sql,以及后续的组数据量限制
来源:互联网 发布:茶叶网络营销策划 编辑:程序博客网 时间:2024/06/02 02:46
select a.msg_id, a.com_id, a.data, a.ctime from sns_user_03.user_request_86 a where 5 > (select count(*) from sns_user_03.user_request_86 where uid=8880386 and com_id= a.app_id and msg_id > a.msg_id ) order by a.ctime;
上面的sql实现分组查询,每组最多显示5条记录,按照时间排序
select @rank:=0;
select msg_id, app_id, data, ctime, rank from ( select a.msg_id, a.app_id, a.data, a.ctime, if(@appid!=a.app_id,@rank:=@rank+1,@rank:=@rank) as rank, @appid:=a.app_id from sns_user_03.user_request_86 a where 5 > (select count(*) from sns_user_03.user_request_86 where uid=8880386 and app_id = a.app_id and msg_id > a.msg_id ) and @rank <= 4 order by a.msg_id desc ) `temp` where rank >2 and rank <=4;
上面实现取第3到第4组,每组5条记录,按时间排序
这只是单纯DB实现,在实际应用中,对于这样耗时的DB操作应当尽量避免,最好将数据cache出来,在逻辑层做这种复杂操作
- mysql实现每组取前N条记录的sql,以及后续的组数据量限制
- MySQL 查询分页数据中分组后取每组的前N条记录
- [MySQL]分组后查找每组的前N条记录语句
- MySQL 查询分页数据中分组后取每组的前N条记录
- 分组后查找每组的前N条记录
- Postgresql查询每组的前N条记录
- MySQL分组排序取前N条记录 以及 生成自动数字序列 的SQL
- MySQL分组排序取前N条记录 以及 生成自动数字序列 的SQL
- Postgresql SQL 选择每组的前面几条记录
- Mysql获取每组前N条记录
- sql 分组取每组的前n条或每组的n%(百分之n)的数据
- 取每组数据的第一条记录和最后一条记录的SQL语句
- 分组查找ACCESS数据库,每组随机取N条记录的例子
- Oracle分组查询取每组排序后的前N条记录
- 用postgresql特性简化group by 后取每组前n条记录的方法
- 用postgresql特性简化group by 后取每组前n条记录的方法
- mysql分组排序取前N条记录的最简洁的单条sql !
- mysql分组排序取前N条记录的最简洁的单条sql
- 防止守护进程挂掉策略
- ARM 与 MIPS 比较
- 菜鸟每天练习 之 递归算法(打靶)
- zdfnihao
- GDB调试常用命令总结
- mysql实现每组取前N条记录的sql,以及后续的组数据量限制
- bcb2010打印调试信息用TRACE
- 为啥下个东西这么难
- 栈
- Adapter的继承关系
- 分析Launcher---/res/xml/default_workspace.xml&&default_wallpaper.xml
- 程序员C、C++30岁后在本行业往哪个方向定位?前景如何?40岁以后呢?
- 【项目经理之修炼(6)】《基础篇》项目经理应该坐在哪儿?
- javascript 数组的数组