lizijie
2019-08-08 a6ff89dd8eed9ea4e6162ff5491d4583e4ef621a
src/main/resources/mapper/QualityDailyMapper.xml
@@ -1,6 +1,7 @@
<?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.QualityDailyMapper">
<!--
   <select id="getQualityCountDayByRegion" resultType="map">
      SELECT
         COUNT( * ) count 
@@ -13,4 +14,32 @@
         AND quality &lt; 3      
      </where>
   </select>
 -->
   <select id="getQualityCountDayByRegion" resultType="map">
      SELECT COUNT(*) count
      FROM (
         SELECT
            MAX(CASE aqi_json ->> '$.quality'
                  WHEN "优" THEN 1
                  WHEN "良" THEN 2
                  WHEN "轻度污染" THEN 3
                  WHEN "中度污染" THEN 4
                  WHEN "重度污染" THEN 5
                  WHEN "严重污染" THEN 6
                  ELSE 0 END
            )   AS quality
         FROM
            `hangzhou_aqi`
         <where>
            time >= #{start}
            AND time &lt; #{end}
            AND city_code = #{cityCode}
         </where>
         GROUP BY DATE_FORMAT( time, '%Y-%m-%d' )
      ) t
      <where>
         t.quality &lt; 3
      </where>
   </select>
</mapper>