mysql分组取前N记录

Posted 忘忧般若汤

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql分组取前N记录相关的知识,希望对你有一定的参考价值。

http://blog.csdn.net/acmain_chm/article/details/4126306

http://bbs.csdn.net/topics/390958705

我只用到了其中的特殊形式,就是 分组取最新的一条记录:

select *
from (select * from Table1 order by Score desc) t
group by ClsNo

利用的是 group by 只取第一条记录,所以需要先把需要的记录排序到第一位

select * 
from Table1 a
where not exists (select 1 from Table1 where ClsNo=a.ClsNo and Score>a.Score);

这个是利用子查询先查出小于最高值的记录,再排除出最高记录(感觉绕了一圈)

以上是关于mysql分组取前N记录的主要内容,如果未能解决你的问题,请参考以下文章

分组取前N记录(转)

mysql分组 排序 取前2条

parttion by ~~~针对某个字段或多个字段重复,数据只取前n条。问题例子:1.主评论下的评论按着 时间正序最多只取前5条 2.获取最新登录记录......

mysql 分组子查询sql怎么写

Oracle取前N条记录——rownum和row_number() over()的使用

SQL如何对分组后的结果进行排序并且取前几名