SQL分类排名,取前N条记录
表有名字,成绩2个字段
----按成绩排名,按人名,选择成绩最高的2条记录
select name,result,count(*) from (
select A.name,B.result from table1 A,table1 B where A.name = B.name and A.result <= B.result
) group by A.name,B.result having count(result) <= 2 ORDER BY NAME,RESULT DESC
----按成绩排名,按人名,选择成绩最低的2条记录
select name,result,count(*) from (
select A.name,B.result from table1 A,table1 B where A.name = B.name and A.result >= B.result
) group by A.name,B.result having count(result) <= 2 ORDER BY NAME,RESULT DESC
核心思路,是通过自关联,使其出现重复记录,然后再通过分组,求count进行having筛选!
分享到:
相关推荐
SQL查找某记录的前后N条数据 SQL查找某记录的前后N条记录
本文实例讲述了mysql使用GROUP BY分组实现取前N条记录的方法。分享给大家供大家参考,具体如下: MySQL中GROUP BY分组取前N条记录实现 mysql分组,取记录 GROUP BY之后如何取每组的前两位下面我来讲述mysql中GROUP BY...
T-SQL语句主要用于取n到m条记录,有效的利用SQL 资源
运用SQL随机抽取N条记录的方法,初学者
打个比方你要查询每月排名前十的那些记录,或者每月销售前十的车辆。
sql oracle mysql 数据库 不同的取前10条记录
sql取小数点后N位sql取小数点后N位sql取小数点后N位
sql 分类汇总sql 分类汇总sql 分类汇总sql 分类汇总sql 分类汇总
用SQL删除重复记录的N种方法 用SQL删除重复记录的N种方法
SQL把一条记录金额平分到n个人并进行汇总.txt,这里说的是Access数据库中,如何将同一条记录金额平分到n个人里,金额会按照实际人数进行平分,空的则不平分,如:一条记录有三个营业员字段,但是实际不知道有几个...
此文档中详细的记载了,SQL Server分组排序取数据的实现,希望可以帮到下载的朋友们!
–按某一字段分组取最大(小)值所在行的数据 代码如下: /* 数据如下: nameval memo a 2 a2(a的第二个值) a 1 a1–a的第一个值 a 3 a3:a的第三个值 b 1 b1–b的第一个值 b 3 b3:b的第三个值 b 2 b2b2b2b2 b 4 b4b4 b ...
SQL查询当前数据上一条和下一条的记录,管用,仅供参考!!!
主要介绍了SQL Server查询前N条记录的常用方法,以实例形式分析总结了SQL Server查询数据库的三种常用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
mysql,sqlserver,oracle取前10条数据.docx
在许多应用中,需要保存某个数据表的历史记录,以供以后查询,在 SQL Server 2000 ... update 被更新前的记录 被更新后的记录 delete 被删除的记录 [不可用] ---------------------------------------------------
基于SQL server 2008数据库的ifix操作记录教程,有详细的操作步骤
mysql彻底理解删除重复记录sql脚本,只保留一条记录
北大青鸟sql1.增加学生记录.sql 北大青鸟sql1.增加学生记录.sql 北大青鸟sql1.增加学生记录.sql 北大青鸟sql1.增加学生记录.sql
易语言SQL基本语句模块源码,SQL基本语句模块,SQL_查询,SQL_添加,SQL_更新,SQL_删除,SQL_删除表,SQL_清空表,SQL_取记录数,SQL_取平均值,SQL_取最小值,SQL_取最大值,SQL_取首记录字段值,SQL_取尾记录字段值,SQL_取总计...