CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  疑难问题

关于 TOP n 的语句!

楼主ainol(艾诺)2003-12-04 11:48:37 在 MS-SQL Server / 疑难问题 提问

因为select   top   200   *   from   tablename   要比   select   *   from   tablename速度要相对快一些,所以我想只查找前面的一部分记录。  
  但是,  
  现在我想查找中间的200条,该怎么写sql命令呢?  
  有没有   last   n   或   mid   n之类的命令?  
  谢谢!! 问题点数:20、回复次数:6Top

1 楼txlicenhe(马可)回复于 2003-12-04 11:50:22 得分 10

没有:  
  http://expert.csdn.net/Expert/topic/2365/2365596.xml?temp=.5068781  
  交流--查询第X页,每页Y条记录  
  邹建  
  Top

2 楼pengdali()回复于 2003-12-04 11:51:07 得分 5

CREATE   PROCEDURE   GetProductsPaged  
  @lastProductID   int,  
  @pageSize   int  
  AS  
  SET   ROWCOUNT   @pageSize  
  SELECT   *  
  FROM   Products  
  WHERE   [standard   search   criteria]  
  AND   ProductID   >   @lastProductID  
  ORDER   BY   [Criteria   that   leaves   ProductID   monotonically   increasing]  
  GOTop

3 楼txlicenhe(马可)回复于 2003-12-04 11:51:36 得分 0

eg:  
  200-400  
  select   top   200   *   from   (select   top   400   *   from   tablename   order   by   id)   order   by   id   desc  
   
  Top

4 楼CrazyFor(冬眠的鼹鼠)回复于 2003-12-04 11:53:32 得分 5

查询N-M条记录。  
  select   IDENTITY(int,1,1)   as   iid,*   into   #temptable   from   yourtable  
  select   top   M-N   *   from   #temptable   where   iid>=N  
   
  OR:  
   
  select   top   M-N   *   from   yourTable   where   id   not   in(select   top   N-1   id   from   table)  
  ID为表具有唯一值的任何字段Top

5 楼lvltt(未完成)回复于 2003-12-04 12:03:38 得分 0

查询N-M条记录。   select   IDENTITY(int,1,1)   as   iid,*   into   #temptable   from   yourtable   select   top   M-N   *   from   #temptable   where   iid>=N   OR:   select   top   M-N   *   from   yourTable   where   id   not   in(select   top   N-1   id   from   table)   ID为表具有唯一值的任何字段Top

6 楼gaoxiaospring(gaoxiaospring)回复于 2003-12-04 13:31:28 得分 0

这样处理后的速度应该不见得就快。Top

相关问题

  • SQL语句中select top n的一个小问题!
  • Oracle中的Select语句如何实现MSSql中Select Top n的语法功能?
  • 请问如何设计一个sql语句提取前n条记录,类似于sql server的top语句功能?(不用存储过程)
  • 在oracle中如何检索top n条记录,另外:oracle中的sql 语句在什么地方查呢?
  • 请问,sybase数据库中如何使用top N的语句?十万火急,高手们,谢了!
  • oracle中怎么选出最前面的几条,类似于sqlserver中的top(n)语句
  • 求助,存储过程里面,使用了top n的语句,这个n想设置成变量,如何实现?
  • 怎么textBox控件不可以使用 \n,\r等语句??????
  • N在SQL语句中的作用问题请教
  • 急!急!急!求N-S图的Select Case语句该怎么画?

关键词

  • top
  • temptable
  • yourtable
  • 记录
  • iid
  • select top
  • tablename
  • where
  • select

得分解答快速导航

  • 帖主:ainol
  • txlicenhe
  • pengdali
  • CrazyFor

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo