[英]Converting a MySQL .DMP file to a .SQL File for MS Sql Server 2005
[英]LIMIT style functionality in MS SQL Server 2005
我已经看到了很多非常可怕的方法来做类似MySQL的MS SQL LIMIT函数。
任何人都可以建议一个很好的方式来做这样的事情:
SELECT * FROM blah LIMIT 5,15;
但在MS SQL?
干杯!
SQL Server相当于MySQL / PostgreSQL的LIMIT语法是TOP(SQL Server 2000+),但TOP不支持偏移值 ...
假设SQL Server 2005+,使用:
SELECT x.*
FROM (SELECT t.*,
ROW_NUMBER() OVER (ORDER BY ?) AS rank
FROM BLAH t) x
WHERE x.rank BETWEEN 6 AND 20
请注意,您必须为排名定义排序顺序 - 替换“?” 使用适当的列。
在SQL Server for LIMIT 5,15
获取相同内容的方法之一是使用ROW_NUMBER()
-
With t As
(
Select ...
, ROW_NUMBER() OVER ( Order By ... ) As Num
From Table
)
Select ...
From t
Where Num Between 5 And 15
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.