当前位置:   article > 正文

Hibernate 先排序再分页问题_habinate分页排序sql

habinate分页排序sql

DB2为例hibernate分页排序sql

ORDER BY t.STATIS_DATE desc, T.AREA_CODE,T.SUBS_AREA_CODE,T.BLOCK_CODE,T.COMTY_DESC  排序失败

ORDER BY t.STATIS_DATE desc, T.AREA_CODE,T.SUBS_AREA_CODE,T.BLOCK_CODE,T.COMTY_DESC,t.T_ID 排序成功

 

示例Sql:

select * from ( select rownumber() over(ORDER BY t.STATIS_DATE desc, T.AREA_CODE,T.SUBS_AREA_CODE,T.BLOCK_CODE,T.COMTY_DESC,t.T_ID) as rownumber_, t.STATIS_DATE,t.AREA_DESC,t.SUBS_AREA_DESC,t.BLOCK_DESC,t.COMTY_DESC,t.USER_NAME,t.USER_COUNT,t.CHANG_USER_COUNT,t.CHANG_USER_COUNT/t.USER_COUNT,t.AREA_CODE,t.SUBS_AREA_CODE,t.BLOCK_CODE,t.COMTY_CODE,t.USER_FLAG from GIS.TB_ALL_ANALYSE_M_LEVEL t  WHERE  1=1  AND t.STATIS_DATE  BETWEEN 201301 AND 201310  AND t.LEVEL = '1' ORDER BY t.STATIS_DATE desc, T.AREA_CODE,T.SUBS_AREA_CODE,T.BLOCK_CODE,T.COMTY_DESC,t.T_ID ) as temp_ where rownumber_ <= ?

 

问题定位:

主要原因是t.STATIS_DATE desc, T.AREA_CODE,T.SUBS_AREA_CODE,T.BLOCK_CODE,T.COMTY_DESC排序字段在结果集中完全一样的情况下,排序失败。

hibernate的排序函数也不能正确将排序条件加到先排序sql部分

over(ORDER BY t.STATIS_DATE desc, T.AREA_CODE,T.SUBS_AREA_CODE,T.BLOCK_CODE,T.COMTY_DESC,t.T_ID)

所以当加上t.T_ID主键唯一字段排序条件则成功。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/268647
推荐阅读
相关标签
  

闽ICP备14008679号