MSSQL 如何实现 MySQL 的 limit 查询方式

不知为何,MSSQL 中没有 limit 这个极为重要的查询方式,熟悉 MySQL 的朋友都知道,MySQL 的 limit 对于实现分页和一些限制结果集的应用中非常方便。没有不要紧,我们可以用其他方法达到同样的目的,自己动手,丰衣足食!

语法:

 
SELECT * FROM 
(
	SELECT TOP [每页记录] * FROM 
	(
		SELECT TOP [每页记录*当前页数] [字段1, 字段2, ...] 
		FROM [数据表]	
		ORDER BY [排序字段] DESC
	)
	[表别名1] 
	ORDER BY [排序字段] 
)
[表别名2] 
ORDER BY [排序字段] DESC

示例:

 
SELECT * FROM 
(
	SELECT TOP 5 * FROM 
	(
		SELECT TOP 10 * 
		FROM table 
		ORDER BY id DESC
	) t1 
	ORDER BY id
) t2 
ORDER BY id DESC

上面的代码表示从 table 表中获取记录,每页5条记录,当前是第二页5*2=10,结果按照 id 倒序排列。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>