mysql分组排序取前N条记录的最简洁的单条sql

原创 2011年01月12日 18:04:00

-- mysql分组排序取前N条记录的最简洁的单条sql。
use test;
drop table if exists test;
create table test (
  id int primary key,
  cid int,
  author varchar(30)
) engine=myisam;
insert into test values 
(1,1,'test1'),
(2,1,'test1'),
(3,1,'test2'),
(4,1,'test2'),
(5,1,'test2'),
(6,1,'test3'),
(7,1,'test3'),
(8,1,'test3'),
(9,1,'test3'),
(10,2,'test11'),
(11,2,'test11'),
(12,2,'test22'),
(13,2,'test22'),
(14,2,'test22'),
(15,2,'test33'),
(16,2,'test33'),
(17,2,'test33'),
(18,2,'test33');

--
select * from (select cid,author,count(*) as number from test group by cid,author) a
where 
2>(
    select count(*)
    from (select cid,author,count(*) as number from test group by cid,author) b
    where a.cid=b.cid and a.number<b.number
)order by cid,number desc;

MySql中取出每个分组中的前N条记录

需求是这样的(CSDN上的一个问题):mysql中有个表:article(字段:id,type,date),type有1-10,10种类型。现在要用SQL找出每种类型中时间最新的前N个数据组成的集合。...
  • hudie1234567
  • hudie1234567
  • 2011年03月18日 10:59
  • 12233

分组查询取每组前n条记录实例

假设有这样一张运动员比赛成绩表 tb_score 现在要求查询出每个国家的前三名的成绩记录,查询语句可以这样写: 1、 select t3.id,t3.country,t3.score ...
  • zhutulang
  • zhutulang
  • 2015年09月23日 15:17
  • 3479

Mysql分组统计、排序、取前N条记录解决方案

今日根据项目需求,需要在mysql中解决记录的分组统计、排序,并抽取前10条记录的功能。...
  • amino77
  • amino77
  • 2016年05月31日 15:52
  • 5716

mysql 先按某字段分组再取每组中前N条记录

先按某字段分组再取每组中前N条记录 From: http://blog.chinaunix.net/uid-26729093-id-4294287.html 请参考:http://bbs....
  • samxx8
  • samxx8
  • 2015年12月03日 22:06
  • 2147

[MySQL]分组后查找每组的前N条记录语句

分组后查找每组的前N条记录语句    作者:张守磊  Java代码   考你一条sql语句   如有表 student    id  name age  class    ...
  • d8681148
  • d8681148
  • 2016年06月01日 22:44
  • 630

mysql实现分组排序,获取第N条数据

mysql 分组排序
  • gefule
  • gefule
  • 2016年08月25日 10:52
  • 249

[mysql] 先按某字段分组再取每组中前N条记录

From: http://blog.chinaunix.net/uid-26729093-id-4294287.html 请参考:http://bbs.csdn.net/topics/3300212...
  • changgongzhao
  • changgongzhao
  • 2015年12月20日 09:59
  • 1587

mysql分组,然后组内排序,最后取每组前2条数据

1.首先根据城市分组,然后查询出点赞数为前2的数据 SELECT release_city, SUBSTRING_INDEX( group_concat( dazzle_id O...
  • qq_16504067
  • qq_16504067
  • 2017年11月21日 09:54
  • 170

db2取前n条记录

select a.* from table a where id =370 fetch first n rows only
  • levi_work
  • levi_work
  • 2016年09月27日 11:24
  • 969

mysql分组取每组前几条记录(排名)

资料来源:http://www.cnblogs.com/JulyZhang/archive/2011/02/12/1952213.html 按name分组取val最大的值所在行的数据。 ...
  • ying890
  • ying890
  • 2015年12月22日 14:23
  • 1031
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mysql分组排序取前N条记录的最简洁的单条sql
举报原因:
原因补充:

(最多只允许输入30个字)