面试1 SQL SERVER 查询第20行到30之间的数据


 SQL SERVER 查询第20行到30之间的数据

1.先查询前20行的ID,后查询除去20条记录的前10条记录

SELECT TOP 10 * FROM tbBank
WHERE BankID NOT IN(SELECT TOP 20 BankID FROM tbBank ORDER BY BankID ASC)

2.先查询前20行记录最大的ID,后查询大于该值的前10条记录

SELECT TOP 10 * FROM tbBank 
WHERE BankID>(SELECT MAX(BankID) FROM (SELECT TOP 20 BankID  FROM tbBank ORDER BY BankID ASC)AS TEMP)

3.SQL SERVER 2005 以后使用 ROW_NUMBER() 函数

SELECT * FROM (SELECT *,ROW_NUMBER() OVER(ORDER BY BankID ASC) AS Num FROM tbBank )AS TempTable 
WHERE Num BETWEEN 21 AND 30

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM