<!-- 查询恶劣天气 --> <select id="searchBadWeather" parameterType="TB_BAD_WEATHER" resultType="TB_BAD_WEATHER"> SELECT * FROM( SELECT t1.*,count(*) over() totalCount,rownum AS ROWNUMBER FROM( SELECT tbw.ID, tbw.JL_PERSON, tbw.JL_TIME, tbw.WEATHER_TYPE, to_char(tbw.STARTTIME,'YYYY-MM-DD HH24:MI:SS') as STARTTIME, to_char(tbw.ENDTIME,'YYYY-MM-DD HH24:MI:SS') as ENDTIME, tbw.ROADSECTIONID, tbw.START_ZH, tbw.END_ZH, tbw.REMARK, tbw.NOWNJD, tbw.MINNJD, tbw.HD, tbw.ROADSTATUSID, tbw.INFOSOURCE, tbw.BGPERSON, tbw.ISINFOCENTER, tbw.XG_PERSON_JG, tbw.XG_PERSON, tbw.XG_TIME, tbw.ISREAD, tbw.READ_JG, tbw.READER, tbw.READ_TIME, tbw.WEATHERID, tbw.RAIN, tbw.JG_CODE, tbw.WEATHER_KIND, tbw.EVENTNO, tbw.SUBEVENTNO, tbw.DEL_FLAG, tbw.INSERT_ORG, tbw.VIEW_TYPE, tbw.OVER_STAT, tbw.BLOCK_STAT, tbw.HISTORYID as HISTORYID, tst.SUBC_NAME as JG_CODENAME, tr.ROAD_NAME as ROADSECTIONIDNAME, row_number() over(partition by tbw.JG_CODE, tbw.WEATHER_KIND, tbw.EVENTNO order by tbw.SUBEVENTNO desc) rn FROM TB_BAD_WEATHER tbw left join TB_ROAD tr on tr.ROAD_CODE = tbw.ROADSECTIONID left join TB_SUBC_TABLE tst on tst.SUBC_NO = tbw.JG_CODE where (tbw.DEL_FLAG is null or tbw.DEL_FLAG = 0) <if test="ID != 0 "> and tbw.ID = #{ID,jdbcType=NUMERIC} </if> <if test="ROADSECTIONID != null and ROADSECTIONID != '' "> and tbw.ROADSECTIONID = #{ROADSECTIONID} </if> <if test="JG_CODE != null and JG_CODE != '0001' and JG_CODE !='' "> and tbw.JG_CODE = #{JG_CODE} </if> <if test="WEATHER_KIND != '' and WEATHER_KIND != null "> and tbw.WEATHER_KIND = #{WEATHER_KIND} </if> <if test="JL_TIME_S != null and JL_TIME_S != ''"> and tbw.STARTTIME >= to_date(#{JL_TIME_S},'yyyy-MM-dd HH24:MI:ss') </if> <if test="JL_TIME_E != null and JL_TIME_E != ''"> and tbw.STARTTIME <= to_date(#{JL_TIME_E},'yyyy-MM-dd HH24:MI:ss') </if> <if test="OVER_STAT != null and OVER_STAT != '' "> and tbw.OVER_STAT = #{OVER_STAT} </if> <!-- <if test='sfjs == "0"'> and (tbw.ENDTIME is null or tbw.ENDTIME >= to_date('3000-01-01 01:00:00','yyyy-MM-dd HH24:MI:ss')) </if> <if test='sfjs == "1"'> and (tbw.ENDTIME is not null and tbw.ENDTIME < to_date('3000-01-01 01:00:00','yyyy-MM-dd HH24:MI:ss')) </if> --> order by tbw.STARTTIME desc ) t1 where t1.rn <=1 and rownum <= #{pos} + #{size} ) where ROWNUMBER >#{pos} </select>