上个星期,测试发现了一个分页的bug--- 无论怎么分页数据的一样。我们所有的分页都是用EF 分页,为什么只有一个模块的分页有问题呢?

后来跟了下sql语句,发现用到是sql2012的新分页方式 OFFSET/FETCH NEXT。

下面有两段sql语句 ,数据中Create_Date 的值都一样

DECLARE   @FetchRows tinyint = 8;
SELECT * FROM BnC_Store ORDER BY Created_Date ASC OFFSET 0 ROWS FETCH NEXT @FetchRows ROWS ONLY;
SELECT * FROM BnC_Store ORDER BY Created_Date ASC OFFSET 8 ROWS FETCH NEXT @FetchRows ROWS ONLY;
SELECT * FROM BnC_Store ORDER BY Created_Date ASC OFFSET 16 ROWS FETCH NEXT @FetchRows ROWS ONLY;

分页是正常的。 

select * from BnC_Store order by Created_Date asc OFFSET 0 ROWS FETCH NEXT 8 ROWS ONLY;
select * from BnC_Store order by Created_Date asc OFFSET 8 ROWS FETCH NEXT 8 ROWS ONLY;
select * from BnC_Store order by Created_Date asc OFFSET 16 ROWS FETCH NEXT 8 ROWS ONLY;

第二,三个分页的数据和第一个分页的前5条数据是一样的。分页不正常。 

如果我们换成 order by store_Number ,两段sql语句的分页都是正常的。

所有我个人认为这算是微软 sql2012 的bug。

Sql 2012 OFFSET / FETCH NEXT BUG的更多相关文章

  1. SQL Server2012 Offset Fetch子句 分页查询

    在本教程中,将学习如何使用SQL Server OFFSET FETCH子句来限制查询返回的行数.OFFSET和FETCH子句是ORDER BY子句的选项. 它们用于限制查询返回的行数.以下是OFFS ...

  2. SQL Server ->> OFFSET & FETCH子句

    SQL Server 2012引入OFFSET + FETCH字句.它俩出现在SELECT .... ORDER BY ...后面.作用是告诉SQL Server在结果集中忽略前N行然后取前M行出来. ...

  3. SQL Server 2012 OFFSET/FETCH NEXT分页示例(转载)

    原文:http://beyondrelational.com/modules/29/presentations/483/scripts/12983/sql-server-2012-server-sid ...

  4. SQL Server 2012 OFFSET/FETCH NEXT分页示例

    原文:http://beyondrelational.com/modules/29/presentations/483/scripts/12983/sql-server-2012-server-sid ...

  5. SQL Server 2012提供的OFFSET/FETCH NEXT与Row_Number()对比测试(转)

    原文地址:http://www.cnblogs.com/downmoon/archive/2012/04/19/2456451.html 在<SQL Server 2012服务端使用OFFSET ...

  6. SQL Server 2012提供的OFFSET/FETCH NEXT与Row_Number()对比测试 [T]

    SQL Server 2008中SQL应用系列--目录索引 前些天看到一篇文章<SQL Server 2012 - Server side paging demo using OFFSET/FE ...

  7. SQL Server 2012使用Offset/Fetch Next实现分页

    在Sql Server 2012之前,实现分页主要是使用ROW_NUMBER(),在SQL Server2012,可以使用Offset ...Rows  Fetch Next ... Rows onl ...

  8. SQL Server 2012使用OFFSET/FETCH NEXT分页及性能测试

    最近在网上看到不少文章介绍使用SQL Server 2012的新特性:OFFSET/FETCH NEXT 实现分页.多数文章都是引用或者翻译的这一篇<SQL Server 2012 - Serv ...

  9. Sqlserver中分页,2012后支持offset + fetch,2012之前用rownum嵌套查询

    今天发现原先用的sql offset fetch好用,换了一个DB就歇菜 歇菜截图 比较了一下,是数据库版本的问题 一个是13,一个是10 版本低的不支持用offset + fetch 进行分页,ms ...

随机推荐

  1. uva 755 - 487--3279

    #include <iostream> #include <string> #include <map> #include <algorithm> #i ...

  2. php生成短网址的思路与方法

    生成短网址的思路以及使用php生成短网址的实现方法. 生成短网址的思路:如果把短网址还原了,你知道是个什么样子的吗?比如:http://www.jbxue.com/sitejs-17300-1.htm ...

  3. MySQL如何执行关联查询

    MySQL中‘关联(join)’ 一词包含的意义比一般意义上理解的要更广泛.总的来说,MySQL认为任何一个查询都是一次‘关联’ --并不仅仅是一个查询需要到两个表的匹配才叫关联,索引在MySQL中, ...

  4. memcache的使用

    什么是memcache? Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像.视频.文件以及数据库检索的结果等. ...

  5. Python自动化运维之4、格式化输出、文件对象

    Python格式化输出: Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[P ...

  6. tomcat+mysql数据库连接池的操作

    使用tomcat中的context.xml设置连接池 打开文件:Apache Software Foundation\Tomcat 6.0\conf\context.xml <Resource ...

  7. ubuntu14.04 reaver不能正常使用

    原帖地址: ubuntu14.04 reaver不能正常使用 http://forum.anywlan.com/thread-282404-1-1.html (出处: http://www.anywl ...

  8. MetaData元数据

    一.基础 定义:数据库.表.列相关信息的描述.    何时使用:想取得对数据库的信息时使用.    一]数据库元数据——通过DataBaseMetaData            DataBaseMe ...

  9. web api 2 学习笔记 (Odata ODataQueryOptions 使用)

    [ODataRoutePrefix("products")] public class ProductController : BaseController { [ODataRou ...

  10. Altium Designer 09 (Protel)总线使用方法(解决导入PCB无网络标号问题)

    弄了两天的Protel总线问题终于解决了,一开始顶层总线连接好后,导入PCB没有网络标号,也就是两个子图信号没连上.现在将正确的连接和设置方法公布如下: 1.首先画好子图的总线,如下图所示.注意:中括 ...