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 >= #{begin,jdbcType=TIMESTAMP}
</if>
<if test="end!=null ">
AND SAMPLING_DATE <= #{end,jdbcType=TIMESTAMP}
</if>
</where>
order by s.SAMPLING_DATE desc
) X
where ROWNUM <= #{endIndex,jdbcType=INTEGER}
) Z
where RN > #{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: