首页新闻找找看学习计划

求一个sql语句

0
[已关闭问题]

从表A中提取第10到第20行数据,id可能是不连续的。。。

求这个sql语句……

天堂口的主页 天堂口 | 小虾三级 | 园豆:514
提问于:2008-10-28 20:32
< >
分享
其他回答(4)
0

select * from (

    select *, ROW_NUMBER() RN

    from A

) where RN between 10 and 20

Gray Zhang | 园豆:17610 (专家六级) | 2008-10-28 20:48
0

select top 10 * from A where id not in (select top 9 id from A)

Edward.yang | 园豆:205 (菜鸟二级) | 2008-10-28 20:56
0

上两个都正

ROW_NUMBER() as x只适于mssql 2005+

第二个也只适用于微软系的数据库

重典 | 园豆:2442 (老鸟四级) | 2008-10-28 22:15
0

ALTER  PROCEDURE Company_ListPagedCustom
            @StartIndex 
int ,
            @EndIndex 
int ,
            @WHERE varchar(
255),
            @ORDERBY varchar(
255)
            AS 
            Declare @Sql varchar(
1000)
            declare @Count 
int
            declare @orderbyopp varchar(
100)
            select @count
= count(*) from Company 
            
if (@count<@EndIndex)
            begin
            
set    @EndIndex=@count
            end
            
if (CHARINDEX(LOWER(@ORDERBY),'desc')>0 )
            begin
            
set    @orderbyopp =  REPLACE(LOWER(@ORDERBY),'desc','asc')
            end
            
else
            begin
            
set    @orderbyopp =  REPLACE(LOWER(@ORDERBY),'asc','desc')
            end
            
if (@StartIndex >@EndIndex)
            begin
            
set @StartIndex=0
            
set @EndIndex=0
            end
            
set @Sql='  SELECT *
            FROM  ( SELECT Top '+ CONVERT(varchar, (@EndIndex -@StartIndex+1))+' *  
            FROM  (SELECT Top 
'+CONVERT(varchar, @EndIndex)+'  * FROM Company where '+ @WHERE +' Order by '+@ORDERBY+' ) t1 Order by '+@ORDERBY+' ) t2
            Order by 
'+@ORDERBY+' '
            execute(@Sql)


小眼睛老鼠 | 园豆:2774 (老鸟四级) | 2008-10-28 23:22
0

来晚了。可以结案了

RicoRui | 园豆:3663 (老鸟四级) | 2008-10-29 09:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册