简体   繁体   English

如何在SQL Server 2005数据库查询中选择第n行

[英]How to select nth row in SQL Server 2005 database query

SQL Server 2005 query is as follows...... SQL Server 2005查询如下...

SELECT ClgId 
FROM IdMaker_DB  
WHERE Course = 'B-Tech' AND [Class] = 'Ist Year'
AND Branch = 'Computer Science and Engineering' 
ORDER BY ClgId

It works fine and selects all entries of Computer Science and Engineering Ist Year but is select only first row, how can I select nth row...... 它可以正常工作并选择“ Computer Science and Engineering Ist Year第一Computer Science and Engineering Ist Year所有条目,但仅选择第一行,如何选择第n行……

select * from (
 SELECT ClgId ,row_number() over (order by ClgId) as rn  FROM IdMaker_DB 
where Course ='B-Tech' and [Class]='Ist Year'

 and Branch='Computer Science and Engineering'   ) a where rn=n   --replace the n
SELECT top 1 ClgId 
FROM IdMaker_DB  
where Course ='B-Tech' 
and [Class]='Ist Year'
and Branch='Computer Science and Engineering' 
and clgid not in 
    (SELECT top N - 1 ClgId 
    FROM IdMaker_DB  
    where Course ='B-Tech' 
    and [Class]='Ist Year'
    and Branch='Computer Science and Engineering' 
    ORDER BY ClgId)
ORDER BY ClgId
SELECT TOP 1 * 
FROM   student 
WHERE  id IN 
       ( 
        SELECT TOP n id 
        FROM student 
       ) 
ORDER BY id DESC

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM