如何在SQL Server中實(shí)現(xiàn) Limit m,n 的功能
更新時(shí)間:2013年06月11日 10:08:43 作者:
本篇文章是對(duì)在SQL Server中實(shí)現(xiàn) Limit m,n功能的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
在MySQL中,可以用 Limit 來查詢第 m 列到第 n 列的記錄,例如:
select * from tablename limit m, n
但是,在SQL Server中,不支持 Limit 語句。怎么辦呢?
解決方案:
雖然SQL Server不支持 Limit ,但是它支持 TOP。
我們以SQL Server 2005為例,就以它自帶的示范數(shù)據(jù)庫 AdventureWorks 作為測(cè)試數(shù)據(jù):
select id from tablename
如果要查詢上述結(jié)果中前6條記錄,則相應(yīng)的SQL語句是:
select top 6 id from tablename
如果要查詢上述結(jié)果中第 7 條到第 9 條記錄,則相應(yīng)的SQL語句是:
select top 3 id from tablename
where id not in (
select top 6 id from tablename
)
select top (n-m+1) id from tablename
where id not in (
select top m-1 id from tablename
)
select top @pageSize id from tablename
where id not in (
select top @offset id from tablename
)
復(fù)制代碼 代碼如下:
select * from tablename limit m, n
但是,在SQL Server中,不支持 Limit 語句。怎么辦呢?
解決方案:
雖然SQL Server不支持 Limit ,但是它支持 TOP。
我們以SQL Server 2005為例,就以它自帶的示范數(shù)據(jù)庫 AdventureWorks 作為測(cè)試數(shù)據(jù):
復(fù)制代碼 代碼如下:
select id from tablename
如果要查詢上述結(jié)果中前6條記錄,則相應(yīng)的SQL語句是:
復(fù)制代碼 代碼如下:
select top 6 id from tablename
如果要查詢上述結(jié)果中第 7 條到第 9 條記錄,則相應(yīng)的SQL語句是:
復(fù)制代碼 代碼如下:
select top 3 id from tablename
where id not in (
select top 6 id from tablename
)
復(fù)制代碼 代碼如下:
select top (n-m+1) id from tablename
where id not in (
select top m-1 id from tablename
)
復(fù)制代碼 代碼如下:
select top @pageSize id from tablename
where id not in (
select top @offset id from tablename
)
相關(guān)文章
mysql中GROUP_CONCAT函數(shù)使用及遇到問題詳解
這篇文章主要給大家介紹了關(guān)于mysql中GROUP_CONCAT函數(shù)使用及遇到問題的相關(guān)資料,GROUP_CONCAT是用于將分組后的多個(gè)行連接為一個(gè)字符串的聚合函數(shù),文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-09-09
win10下mysql 5.7.23 winx64安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了win10下mysql 5.7.23 winx64安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09
Mysql InnoDB的鎖定機(jī)制實(shí)例詳解
這篇文章主要給大家介紹了關(guān)于Mysql InnoDB的鎖定機(jī)制,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01

