【oracle 分页问题】这两个查询结果竟然不一样,好神奇?

sql1:

select *

  from (select t_.*, rownum as n_
          from (select rid,"FId","FCreateTime",
                       "FStatus",
                       "FLeiBie",
                       "FName",
                       "FHangYe",
                       "FHangYe$",
                       "FRegionId",
                       "FRegionId$",
                       "FOfficePhone",
                       "FUserId",
                       "FUserId$",
                       "FDepartmentId",
                       "FDepartmentId$",
                       "FSumdingdane",
                       "FChanPingXian",
                       "FBaoBeiStatus",
                       "FYinruStatus",
                       "Fxiumian",
                       "Fkfry",
                       "Fkfry$",
                       "Fkhbm",
                       "Fkhbm$",
                       "Fshiti",
                       "Fshiti1",
                       "Fshiti2",
                       "Fshiti3"                      
                  from (select "TcCustomer".rowId as rid,"TcCustomer"."FRegionId",
                               "TcCustomer"."FLeiBie",
                               "TcCustomer"."Fshiti",
                               "TcCustomer"."FOfficePhone",
                               "TcCustomer"."FHangYe",
                               "TcCustomer"."Fkhbm",
                               "TcCustomer"."Fxiumian",
                               "TcCustomer"."FChanPingXian",
                               "TcCustomer"."FBaoBeiStatus",
                               "TcCustomer"."FYinruStatus",
                               "TcCustomer"."FDepartmentId",
                               "TcCustomer"."FSumdingdane",
                               "TcCustomer"."Fshiti3",
                               "TcCustomer"."FUserId",
                               "TcCustomer"."FCreateTime",
                               "TcCustomer"."FStatus",
                               "TcCustomer"."FName",
                               "TcCustomer"."FId",
                               "TcCustomer"."Fkfry",
                               "TcCustomer"."Fshiti1",
                               "TcCustomer"."Fshiti2",
                               "TsUser_1"."FName"           as "FUserId$",
                               "TsDepartment_1"."FName"     as "Fkhbm$",
                               "Tuindustry_1"."FName"       as "FHangYe$",
                               "TsDepartment_2"."FName"     as "FDepartmentId$",
                               "TsUser_2"."FName"           as "Fkfry$",
                               "Tuarea_1"."FName"           as "FRegionId$"
                          from "TcCustomer"
                          left join "TsUser" "TsUser_1"
                            on "TsUser_1"."FId" = "TcCustomer"."FUserId"
                          left join "TsDepartment" "TsDepartment_1"
                            on "TsDepartment_1"."FId" = "TcCustomer"."Fkhbm"
                          left join "Tuindustry" "Tuindustry_1"
                            on "Tuindustry_1"."FId" = "TcCustomer"."FHangYe"
                          left join "TsDepartment" "TsDepartment_2"
                            on "TsDepartment_2"."FId" =
                               "TcCustomer"."FDepartmentId"
                          left join "TsUser" "TsUser_2"
                            on "TsUser_2"."FId" = "TcCustomer"."Fkfry"
                          left join "Tuarea" "Tuarea_1"
                            on "Tuarea_1"."FId" = "TcCustomer"."FRegionId") "TcCustomer"
                 where "FLeiBie" = 'qudao'
                 order by "FCreateTime" asc) t_
         where rownum <= 1000)
where n_<=375 and n_ > 350;


sql2:


select *
  from (select t_.*, rownum as n_
          from (select rid,"FId","FCreateTime",
                       "FStatus",
                       "FLeiBie",
                       "FName",
                       "FHangYe",
                       "FHangYe$",
                       "FRegionId",
                       "FRegionId$",
                       "FOfficePhone",
                       "FUserId",
                       "FUserId$",
                       "FDepartmentId",
                       "FDepartmentId$",
                       "FSumdingdane",
                       "FChanPingXian",
                       "FBaoBeiStatus",
                       "FYinruStatus",
                       "Fxiumian",
                       "Fkfry",
                       "Fkfry$",
                       "Fkhbm",
                       "Fkhbm$",
                       "Fshiti",
                       "Fshiti1",
                       "Fshiti2",
                       "Fshiti3"                      
                  from (select "TcCustomer".rowId as rid,"TcCustomer"."FRegionId",
                               "TcCustomer"."FLeiBie",
                               "TcCustomer"."Fshiti",
                               "TcCustomer"."FOfficePhone",
                               "TcCustomer"."FHangYe",
                               "TcCustomer"."Fkhbm",
                               "TcCustomer"."Fxiumian",
                               "TcCustomer"."FChanPingXian",
                               "TcCustomer"."FBaoBeiStatus",
                               "TcCustomer"."FYinruStatus",
                               "TcCustomer"."FDepartmentId",
                               "TcCustomer"."FSumdingdane",
                               "TcCustomer"."Fshiti3",
                               "TcCustomer"."FUserId",
                               "TcCustomer"."FCreateTime",
                               "TcCustomer"."FStatus",
                               "TcCustomer"."FName",
                               "TcCustomer"."FId",
                               "TcCustomer"."Fkfry",
                               "TcCustomer"."Fshiti1",
                               "TcCustomer"."Fshiti2",
                               "TsUser_1"."FName"           as "FUserId$",
                               "TsDepartment_1"."FName"     as "Fkhbm$",
                               "Tuindustry_1"."FName"       as "FHangYe$",
                               "TsDepartment_2"."FName"     as "FDepartmentId$",
                               "TsUser_2"."FName"           as "Fkfry$",
                               "Tuarea_1"."FName"           as "FRegionId$"
                          from "TcCustomer"
                          left join "TsUser" "TsUser_1"
                            on "TsUser_1"."FId" = "TcCustomer"."FUserId"
                          left join "TsDepartment" "TsDepartment_1"
                            on "TsDepartment_1"."FId" = "TcCustomer"."Fkhbm"
                          left join "Tuindustry" "Tuindustry_1"
                            on "Tuindustry_1"."FId" = "TcCustomer"."FHangYe"
                          left join "TsDepartment" "TsDepartment_2"
                            on "TsDepartment_2"."FId" =
                               "TcCustomer"."FDepartmentId"
                          left join "TsUser" "TsUser_2"
                            on "TsUser_2"."FId" = "TcCustomer"."Fkfry"
                          left join "Tuarea" "Tuarea_1"
                            on "Tuarea_1"."FId" = "TcCustomer"."FRegionId") "TcCustomer"
                 where "FLeiBie" = 'qudao'
                 order by "FCreateTime" asc) t_
         where rownum <= 375)

where n_<=375 and n_ > 350;

两个sql的差别就是减少了中间结果集,rownum<=1000,rownum<=375的区别,结果整个处理的数据就不一样了,我把两种的全部导出来,发现到300多条就不一致了,真的很神奇;


解决办法:增大第二个sql的结果集 rownum <= 375+25

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值