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. Automatically watermark all uploaded photos (给所有上传的相片加水印)

    Hello, This mod automatically watermark all uploaded photos. Price: FREE, enjoy. You will have to ed ...

  2. net Core 使用MyCat分布式数据库,实现读写分离

    net Core 使用MyCat分布式数据库,实现读写分离 目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 MyCat2.0版本很快就发布了,关于MyCat的动态和一些问题, ...

  3. Scut:通用配置管理器

    1. 配置节 ConfigSection private List<ConfigNode> _configNodes; public class ConfigNode { public C ...

  4. poj Pie

    http://poj.org/problem?id=3122 #include<cstdio> #include<cstring> #include<cmath> ...

  5. windows程序设计简介

    大家好,非常高兴和大家一起分享Windows开发心得,Windows已经诞生很多年了,一直因为它的简单易用而深受欢迎,相信很多人在使用Windows的时候,一定有这样一个想法:希望自己将来可以写一个很 ...

  6. DataGridView DataGridViewCheckBoxColumn编辑时实时触发事件

    正常响应CellValueChanged()事件时,当改变checkbox状态时,只有当焦点离开该单元格时才能触发CellValueChanged()事件, 如果要改变checkbox值时实时触发Ce ...

  7. cf591A Wizards' Duel

    A. Wizards' Duel time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...

  8. Android 迷之Version管理

    很多时候会搞混Android中的几个Version minSdkVersion:指你所开发的应用程序能够兼容的最低系统.比如,你现在开发一款暴风.APK,你希望它能在Android已经发布的所有版本的 ...

  9. Selenium索引

    Common Selenium各种工具比较 Selenium firefox 版本问题 Selenium IDE Selenium IDE整理 WebDriver Java 版本 Selenium开始 ...

  10. python:时间处理模块

    # coding=utf-8 from datetime import date, datetime import time def date_test(): print 'date.max', da ...