码迷,mamicode.com
首页 > 数据库 > 详细

mysql分组查询前n条数据

时间:2015-05-12 22:53:51      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:

建表:

CREATE TABLE hard(
id INT,
aa varchar(50) ,
bb INT,
PRIMARY key(id)
)
insert into hard values(1,‘a‘,9)
insert into hard values(2,‘a‘,7)
insert into hard values(3,‘a‘,8)
insert into hard values(4,‘a‘,6)

insert into hard values(5,‘b‘,2)
insert into hard values(6,‘b‘,3)
insert into hard values(7,‘b‘,4)

insert into hard values(8,‘c‘,1)
insert into hard values(9,‘c‘,8)
insert into hard values(10,‘c‘,2)

查询该表中,每组的最大两个数:

select a.* from hard a where (select count(*) from hard where aa = a.aa and bb > a.bb ) < 2 order by a.aa,a.bb desc

此处 2 即为n

(查询单表不分组的前n条最大数据: select DISTINCT bb from hard order by bb desc limit 2)

结果图:

技术分享

技术分享

 原理剖析:

mysql分组查询前n条数据

标签:

原文地址:http://www.cnblogs.com/yiyongyao/p/4498659.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!