| | |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > |
| | | <mapper namespace="com.moral.mapper.DemoMapper"> |
| | | <select id="getDatas" resultType="map"> |
| | | SELECT * FROM hangzhou_aqi ORDER BY time DESC LIMIT 7 |
| | | SELECT * |
| | | FROM hangzhou_aqi |
| | | <where> |
| | | <if test="timeList != null and timeList.size > 0"> |
| | | time IN |
| | | <foreach collection="timeList" open="(" separator="," close=")" |
| | | item="listItem"> |
| | | #{listItem} |
| | | </foreach> |
| | | </if> |
| | | </where> |
| | | ORDER BY time |
| | | <if test="size != null"> |
| | | DESC |
| | | LIMIT #{size} |
| | | </if> |
| | | </select> |
| | | <select id="selectByTimeZones" resultType="map"> |
| | | select * from hangzhou_aqi where time in ( |
| | | SELECT max(time) from ( |
| | | select time,cast(aqi_json->"$.AQI" as SIGNED INTEGER) as aqi from hangzhou_aqi |
| | | ) hz where EXISTS ( select * from ( |
| | | select max(cast(aqi_json->"$.AQI" as SIGNED INTEGER)) as max_aqi, |
| | | DATE_FORMAT(time,'%Y-%m-%d') as day_time |
| | | from hangzhou_aqi |
| | | where time >= #{startTime} and time <![CDATA[<=]]> #{endTime} |
| | | GROUP BY day_time |
| | | ) as max_result where day_time = DATE_FORMAT(hz.time,'%Y-%m-%d') and max_aqi = hz.aqi |
| | | ) GROUP BY DATE_FORMAT(time,'%Y-%m-%d') ORDER BY time ASC |
| | | ) |
| | | </select> |
| | | </mapper> |