如何在SQLServer中實現MySQL的Limit m,n功能


先放SQL語句

select top n id from 表名 
where id not in (  
  select top m id from 表名  
)  

之前因為這個問題在網上找答案,結果讓們都告訴我是這個:

這明顯是扯淡!

連limit m,n的含義都沒弄清楚,

limit m, m的含義

  • limit m,n是mysql的語法

    select * from table limit [m],n;

    其中,m—— [m]為可選,是偏移量,如果填寫表示skip步長,即跳過m條;不填寫表示默認為0;

      n——顯示條數。指從第m+1條記錄開始,取n條記錄。

  • 而在網上的這個說法中把limit m,n定義成了獲取m到n的記錄數,這是不對的

  • limit m,n的意思是獲取表中第m+1條開始往后n條的記錄數
    也就是說,limit 8,5 表示獲取表中的第(8+1)到(8+5)條記錄數,而根據網上的說法5-8明顯是行不通的!

測試

下面圖中,左邊是MySQL的表和操作結果,右邊是SQLServer的表和操作結果,證明真正的實現limit m,n的代碼應該是

select top n id from 表名 
where id not in (  
  select top m id from 表名  
)  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM