1. 使用MS SQL Server 2008; 2. 数据库内容如下:

insert into xuexi1 values('张三0', '数学', 98 )

insert into xuexi1 values('张三1', '数学',912 )

insert into xuexi1 values('张三2', '数学', 344 )

insert into xuexi1 values('张三3', '数学',546 )

insert into xuexi1 values('1张三4', '数学1', 498 )

insert into xuexi1 values('1张三5', '数学1', 198 )

insert into xuexi1 values('1张三6', '数学1', 983 )

insert into xuexi1 values('1张三7', '数学1', 982 )

insert into xuexi1 values('2张三4', '语文', 49 )

insert into xuexi1 values('2张三5', '语文', 19 )

insert into xuexi1 values('2张三6', '语文', 93 )

insert into xuexi1 values('2张三7', '语文', 92 )

3. 要查询的结果:每一门课程的前2名
忘了说了,刚才想问能不能只用一条语句?科目很多,如果这样查询觉得可能慢
select a.xingming,a.kemu,a.fenshu 
from xuexi1 a
where a.fenshu in 
(
SELECT top 2 fenshu
FROM xuexi1
WHERE
kemu=a.kemu
order by fenshu desc
)
字段名和表名都用拼音表示的,拼一下就知道是啥了,再一个,可能会报错,你再自己稍微修改一下吧,反正大概就这个意思

SQL SERVER 查询特定的前几条数据的更多相关文章

  1. oracle和sql server中,取前10条数据语法的区别

    在sql server中,取数据中前10条语句,我们可以用top 10 这样语句,但是oracle就没有这个函数,接下来介绍它们之间的区别 1.sql server 取前10语句和随机10条的语法 - ...

  2. SQL Server查询第31到40条数据

    大致分为两种情况:ID连续和ID不连续. 1.ID连续的情况: 2.ID不连续的情况: (1).两次对表查询,效率较低. ID from A) (2).外层查询没有对表A进行查询,效率提高. ID f ...

  3. SQL分组查询每组前几条数据

    /*第一种实现方法,效率低并且有错误*/ DECLARE @DD DATETIME SET @DD = GETDATE() SELECT a.GoodsID , a.Account , a.LastU ...

  4. sql server查询数据库的大小和各数据表的大小

    查询出来的结果中各字段的详细说明参考MSDN资料:https://msdn.microsoft.com/zh-cn/library/ms188776.aspx 如果只是查询数据库的大小的话,直接使用以 ...

  5. SQL Server查询分组结果中第一条记录的方法

    select * from (  select mp.MsgID,m.Content,m.CreatorID,m.CreateTime,ROW_NUMBER() over(partition by m ...

  6. Sql Server 查询今天,昨天,近七天....数据

    今天数据: 昨天数据: 7天内数据: 30天内数据: 本月数据: 本年数据: 查询今天是今年的第几天: select datepart(dayofyear,getDate()) 查询今天是本月的第几天 ...

  7. SQL Server 分割字符串和合并多条数据为一行

    分割字符串函数 create function f_split(@c varchar(2000),@split varchar(2)) returns @t table(col varchar(20) ...

  8. oracle--合并行数据(拼接字符串),获取查询数据的前3条数据...

    --标准函数Lpad 可以实现左补零,但是如果多于需要长度,则会截断字符串 SELECT LPAD ('1' , 3 , '0') FROM DUAL -- return 001 情况一:需要补零.  ...

  9. 不同数据库,查询前n条数据的SQL语句

    不同的数据库,支持的SQL语法略有不同,以下是不同数据库查询前n条数据的SQl语句 SQL Server(MSSQL) SELECT TOP n * FROM table_name ORACLE SE ...

随机推荐

  1. js监控键盘大小写事件

    JavaScript键盘事件侦听    在使用JavaScript做WEB键盘事件侦听捕获时,主要采用onkeypress.onkeydown.onkeyup三个事件进行出来.该三个事 件的执行顺序如 ...

  2. d038: 星罗密布

    内容: 输出图形 *****$***$$$*$$$$$ 规律是...自己发现吧. 要求输入3,输出上面三行的图形 输入说明: 行数小于40 输出说明:   输入样例:   3 输出样例 : ***** ...

  3. C# windows窗体程序打包安装及卸载

    一.新建安装部署项目

  4. ajax切换明星头像!

    html部分: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  5. springmvc基于xml配置文件

    web.xml 配置文件 <!-- springmvc 配置入口 --> <servlet> <servlet-name>mvc-dispatcher</se ...

  6. Coupons

    uva10288:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&am ...

  7. (转)C++ 编程规范

    转载地址:http://www.cnblogs.com/len3d/archive/2008/02/01/1061902.html C/C++编码规范 今天人们越来越明白软件设计更多地是一种工程,而不 ...

  8. Hotel - poj 3667(求连续子区间)

    题意:有两种操作 1,从左往右找一个区间是 D 的连续序列,然后覆盖,返回区间最前面的数,如果没有输出0 2, 释放从L开始连续D的区间 分析:就是从左往右查找一个D的连续区间,可以使用三个值操作ls ...

  9. 关于 IOS Runtime Runloop 2

    Runtime 也就是运行时组件,一个纯C语言写的基础库. 我们平时编写的OC代码中, 程序运行过程时, 其实最终都是转成了runtime的C语言代码 Objective-C编写出来的程序必须得到ru ...

  10. js打开新的链接2

    window.open打开新的连接时可能会被浏览器拦截掉. 所以采用动态创建a标签的形式. var a = document.createElement('a');  a.href = myUrl;  ...