jinpengyong
2020-08-18 d82b68b61c86db91acebce81326731501457d722
src/main/resources/mapper/HangzhouAqiMapper.xml
@@ -53,58 +53,68 @@
    </select>
    <select id="getAreaAvgDataByAreaCode" resultType="java.util.Map">
    SELECT
    DATE_FORMAT(time, #{typeFormat}) time,
    round(AVG(case when aqi_json->'$.${sensors}' is null then aqi_json->'$.${sensors1}' else aqi_json->'$.${sensors}' end),4)  as '${sensors2}'
    FROM
    hangzhou_aqi ha
    WHERE
    ha.time >= #{start}
    AND ha.time <![CDATA[<]]> #{end}
    AND ha.city_code = #{areaCode}
    GROUP BY
    DATE_FORMAT(time, #{typeFormat})
    ORDER BY
    time
  </select>
        SELECT
        DATE_FORMAT(time, #{typeFormat}) time,
        round(AVG(case when aqi_json->'$.${sensors}' is null then aqi_json->'$.${sensors1}' else aqi_json->'$.${sensors}' end),4)  as '${sensors2}'
        FROM
        hangzhou_aqi ha
        WHERE
        ha.time >= #{start}
        AND ha.time <![CDATA[<]]> #{end}
        AND ha.city_code = #{areaCode}
        GROUP BY
        DATE_FORMAT(time, #{typeFormat})
        ORDER BY
        time
    </select>
    <select id="getAqiDataByAreaCode" resultType="java.util.Map">
    SELECT
    DATE_FORMAT(time, #{typeFormat}) time,
    ifnull(aqi_json->'$.O3C',aqi_json->'$.O3') as 'O3'
    FROM
    hangzhou_aqi ha
    WHERE
    ha.time >= #{start}
    AND ha.time <![CDATA[<]]> #{end}
    AND ha.city_code = #{cityCode}
    ORDER BY
    time
        SELECT
        DATE_FORMAT(time, #{typeFormat}) time,
        ifnull(aqi_json->'$.O3C',aqi_json->'$.O3') as 'O3'
        FROM
        hangzhou_aqi ha
        WHERE
        ha.time >= #{start}
        AND ha.time <![CDATA[<]]> #{end}
        AND ha.city_code = #{cityCode}
        ORDER BY
        time
  </select>
    <select id="getAqi" resultType="java.util.Map">
    select
    DATE_FORMAT(time, #{typeFormat}) time,
    aqi_json json
    FROM
    hangzhou_aqi
    WHERE
    time >= #{start}
    AND time <![CDATA[<]]> #{end}
    AND city_code = #{cityCode}
    ORDER BY
    time
        select
        DATE_FORMAT(time, #{typeFormat}) time,
        aqi_json json
        FROM
        hangzhou_aqi
        WHERE
        time >= #{start}
        AND time <![CDATA[<]]> #{end}
        AND city_code = #{cityCode}
        ORDER BY
        time
    </select>
    <select id="getAvgO3EightHours" resultType="java.util.Map">
    select
    AVG(case when aqi_json->'$.O3C' is null then aqi_json->'$.O3' else aqi_json->'$.O3C' end)  as 'O3C_8H'
    FROM
    hangzhou_aqi
    WHERE
    time >= #{start}
    AND time <![CDATA[<]]> #{end}
    AND city_code = #{cityCode}
        select
        AVG(case when aqi_json->'$.O3C' is null then aqi_json->'$.O3' else aqi_json->'$.O3C' end)  as 'O3C_8H'
        FROM
        hangzhou_aqi
        WHERE
        time >= #{start}
        AND time <![CDATA[<]]> #{end}
        AND city_code = #{cityCode}
    </select>
    <select id="getSumO3" resultType="java.util.Map">
        select
        SUM(case when aqi_json->'$.O3C' is null then aqi_json->'$.O3' else aqi_json->'$.O3C' end) 'O3Sum'
        FROM
        hangzhou_aqi
        WHERE
        time >= #{start}
        AND time <![CDATA[<]]> #{end}
        AND city_code = #{cityCode}
    </select>
</mapper>