中国开发网: 论坛: 程序员情感CBD: 贴子 368592
pcplayer
[技术] 分页倒排序的 SQL 语法试验结果,莫非我的 SQL 7 有BUG
select * from
(select top 3 ID,RiQi from
(select top 6 ID,RiQi from MyTable as T6 order by RiQi desc) as T1 order by RiQi asc )
as T2 order by RiQi desc

-----------
以上语句执行正确,可以拿到倒排序的第 2 页的数据。这里,PageSize = 3, PageCount = 2

如果改为以下语句:

----------------
select * from
(select top 3 * from
(select top 6 ID,RiQi from MyTable as T6 order by RiQi desc) as T1 order by RiQi asc )
as T2 order by RiQi desc

执行这段语句,得到的是倒排序之后的第一页的数据,而不是第二页的。
-----------------------------------------------------------------

上述两个 SQL 语句的区别,就是嵌入的第二个子查询里,一个写了字段名,一个写的是 *,应该对排序起作用的 Order by 那里,都是一样的。

不知道这个算不算 BUG?

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录