zoukankan      html  css  js  c++  java
  • Oracle排序BUG

          在今天项目开发中,遇到一个奇怪的问题,运用Oracle自身排序,然后将排序结果进行分页展示到前台时,发现数据有重复的现象。

          这是数据表需要排序的全部结果,执行脚本:select * from ajb where ajlx='刑事案件' order by ajlx asc

          结果展示为:

    获取结果集的前13页,sql脚本如下:

        select * from (select * from ajb where ajlx='刑事案件' order by ajlx asc) where rownum<=13

    结果截图:

    显然,这和总结果前13条内容不对应。

        为什么会出现上面的问题?大家想想,这种情况还会发生重复的可能。原来是因为Oracle的弱排序,尤其对于汉字,将排序结果放在一张表中,再从该表中取数据,很容易出现问题。因为若排序(非唯一排序),所以查询出的表不再具有排序功能,所以从该表中取数据就会不对。

        那么,遇到这中问题怎么解决呢?因为排序是若排序,所以有必要加一个强排序选项,将本文红背景脚本改为:select * from ajb where ajlx='刑事案件' order by ajlx,xh asc即可。

  • 相关阅读:
    为什么 "auto a = 1;" 在C语言中可以编译通过?
    谈谈duilib
    软工第一次作业
    数独_个人项目
    统计Github项目信息
    字符串中的匹配之递归
    软工第0次作业
    c++浅拷贝与深拷贝(LeetCode669)
    修改xcode初始生成代码
    树上处理的问题总结
  • 原文地址:https://www.cnblogs.com/kinger906/p/3461546.html
Copyright © 2011-2022 走看看