<分组取最大N条记录>
create table t2 (
id int primary key,
gid char,
col1 int,
col2 int
) engine=myisam;
insert into t2 values
(1,'A',31,6),
(2,'B',25,83),
(3,'C',76,21),
(4,'D',63,56),
(5,'E',3,17),
(6,'A',29,97),
(7,'B',88,63),
(8,'C',16,22),
(9,'D',25,43),
(10,'E',45,28),
(11,'A',2,78),
(12,'B',30,79),
(13,'C',96,73),
(14,'D',37,40),
(15,'E',14,86),
(16,'A',32,67),
(17,'B',84,38),
(18,'C',27,9),
(19,'D',31,21),
(20,'E',80,63),
(21,'A',89,9),
(22,'B',15,22),
(23,'C',46,84),
(24,'D',54,79),
(25,'E',85,64),
(26,'A',87,13),
(27,'B',40,45),
(28,'C',34,90),
(29,'D',63,8),
(30,'E',66,40),
(31,'A',83,49),
(32,'B',4,90),
(33,'C',81,7),
(34,'D',11,12),
(35,'E',85,10),
(36,'A',39,75),
(37,'B',22,39),
(38,'C',76,67),
(39,'D',20,11),
(40,'E',81,36);
期望结果
1) N=1 取GID每组 COL2最大的记录
+----+------+------+------+
| id | gid | col1 | col2 |
+----+------+------+------+
| 6 | A | 29 | 97 |
| 15 | E | 14 | 86 |
| 24 | D | 54 | 79 |
| 28 | C | 34 | 90 |
| 32 | B | 4 | 90 |
+----+------+------+------+
2) N=3 取GID每组 COL2最大的3条记录
+----+------+------+------+
| id | gid | col1 | col2 |
+----+------+------+------+
| 6 | A | 29 | 97 |
| 11 | A | 2 | 78 |
| 36 | A | 39 | 75 |
| 32 | B | 4 | 90 |
| 2 | B | 25 | 83 |
| 12 | B | 30 | 79 |
| 28 | C | 34 | 90 |
| 23 | C | 46 | 84 |
| 13 | C | 96 | 73 |
| 24 | D | 54 | 79 |
| 4 | D | 63 | 56 |
| 9 | D | 25 | 43 |
| 15 | E | 14 | 86 |
| 25 | E | 85 | 64 |
| 20 | E | 80 | 63 |
+----+------+------+------+
注:
1)不限数据库,但请说明,比如 Oracle Database 10g 10.2 , MySQL 5.1.33
2) 不限方法, SQL语句,存储过程。
http://bbs.csdn.net/topics/330021260
mysql5.1.41 期望结果 1) N=1 取GID每组 COL2最大的记录 SELECT a.id,a.gid,a.col1,a.col2 FROM t2 as a,t2 as b where a.gid=b.gid AND a.col2 <=b.col2 GROUP BY a.id,a.gid,a.col1,a.col2 having a.col2>=max(b.col2) ORDER BY a.gid,a.col2 desc 2) N=3 取GID每组 COL2最大的3条记录 SELECT a.id,a.gid,a.col1,a.col2 FROM t2 a,t2 b where a.gid=b.gid AND a.col2 <=b.col2 GROUP BY a.id,a.gid,a.col1,a.col2 HAVING COUNT(b.id) <=3 ORDER BY a.gid,a.col2 desc
相关推荐
在企业中,文件征集意见传阅单是一种重要的文档管理工具,用于记录和跟踪文件的传阅、反馈和审批过程。下面是相关的知识点: 1. 文件征集意见传阅单的主要作用: 文件征集意见传阅单的主要作用是记录和跟踪文件的...
红色革命文物征集-红色革命文物征集网站-红色革命文物征集网站源码-红色革命文物征集网站java代码-红色革命文物征集网站设计与实现-基于springboot的红色革命文物征集网站-基于Web的红色革命文物征集网站设计与实现-...
企业员工公司合理化建议提案征集表 本资源为企业员工公司合理化建议提案征集表,旨在规范和推广员工的合理化建议征集流程。该表格由三页组成,涵盖了员工提案的提交、公司相关部门的评估和实施过程。 员工提案提交...
统一战线建言献策征集表.docx
【工会合理化建议征集嘉奖方法】是公司为了激发员工积极参与企业改革,提出创新和改进方案,从而提升生产效率和经济效益而制定的一项激励机制。这一方法的实施旨在鼓励员工运用自身的专业知识和经验,针对公司的生产...
提案征集表1.pdf
三是征集手段和方法传统,效率不高,难以适应现代社会的快速变化。四是缺乏足够的资金支持和政策保障,使得征集工作面临资金和人力短缺的困扰。 【优化对策】 针对这些问题,县级档案馆应采取一系列优化措施。首先...
xx大学提案征集表.pdf
社会实践需求征集表.pdf
向表中插入一条或多条记录。 - **删除** ```sql DELETE FROM table1 WHERE 条件; ``` 删除满足特定条件的记录。 - **更新** ```sql UPDATE table1 SET field1 = value1 WHERE 条件; ``` 更新满足条件...
员工意见征集的通知.pdf
关于发表原创文章的奖励、要求、方法及征集热点文章的说明.docx
【家长委员会意见征集表】 在教育领域,家长的参与是学校教育工作不可或缺的一部分。家长委员会作为连接家长与学校的重要桥梁,其作用在于促进家校沟通,共同为学生的成长创造更良好的环境。这份“家长委员会意见...
新童谣征集活动网站系统是基于Microsoft的.NET框架构建的一款整站程序,主要目标是为组织和管理新童谣的征集、评选、展示等活动提供一个高效、便捷的在线平台。.NET框架是微软公司推出的一种开发平台,它包含了运行...
“六式”则是在“六法”基础上的具体操作方法,如:专题征集,针对特定主题或事件进行集中征集;定向征集,面向特定人群或机构;联合征集,与其他高校或机构合作,共享资源;应急征集,针对突发情况,快速有效地收集...
【小学优秀童谣征集方案】是一项旨在通过童谣创作与传唱来培养小学生道德素养和文化精神的教育活动。该方案积极响应党的十八大号召,强调培育和践行社会主义核心价值观,旨在提升少年儿童的精神文化生活品质。 活动...
【安徽征集志愿填报】是指在安徽省高考招生过程中,由于部分高校在某一批次的录取中未能完成招生...同时,家长和考生也需要关注教育招生考试院发布的最新信息,及时了解征集志愿的填报时间和方法,以免错过重要时机。
南关小学家长委员会征集问题及学校问题解决情况.doc
"美丽的代码"征集大赛是一场面向广大编程爱好者和专业开发者的技术盛宴,旨在挖掘并展示那些优雅、高效且具有艺术性的代码。在这个大赛中,参与者被鼓励分享他们认为最具美感、最能体现编程智慧的代码片段,以此推动...
尽管红色革命文物征集管理系统具备较完善的功能,但是也需要管理人员利用闲暇时间提升自身素质以及个人能力,在操作红色革命文物征集管理系统时可以最大化运用红色革命文物征集管理系统提供的功能,让系统在满足高...