<?xml version="1.0" encoding="UTF-8" ?>
|
<!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
|
<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>
|