El problema del orden por paginar

      Hizo una paginación, ordenada por tiempo de muestreo.

Select * from (select ROWNUM RN,X.*
        from (
            select s.* from T_TEST_SAMPLE s
            <where> 
                <if test="qualityName!=null and qualityName!=''">
                    AND TRIM(s.sample_name) = #{qualityName,jdbcType=VARCHAR}
                </if>
                <if test="begin!=null ">
                    and SAMPLING_DATE &gt;= #{begin,jdbcType=TIMESTAMP}
                </if>
                <if test="end!=null ">
                    AND SAMPLING_DATE &lt;= #{end,jdbcType=TIMESTAMP}
                </if>
            </where>
            order by s.SAMPLING_DATE desc
        ) X
        where ROWNUM &lt;= #{endIndex,jdbcType=INTEGER}
        ) Z
        where RN &gt; #{offset,jdbcType=INTEGER}

      Recientemente, el proceso de negocio ha cambiado y el tiempo de muestreo es igual.

 

      Más tarde, después de consultar la información durante varios días, apareció una situación. Los dos últimos de la tercera página aparecen en los dos primeros de la cuarta página.

      Más tarde, lo pensé: se estima que debido a que los datos con el mismo tiempo de muestreo son demasiado, la clasificación está desordenada y se utiliza una clasificación de campo repetitiva imposible.

            order by s.SAMPLING_DATE desc,id desc

      Esta situación es normal ~

 

      Este artículo es muy bueno:

https://www.cnblogs.com/lwlxqlccc/p/8676045.html

48 artículos originales publicados · Me gusta 36 · Visitas 130,000+

Supongo que te gusta

Origin blog.csdn.net/weixin_42845682/article/details/88368648
Recomendado
Clasificación