fengxiang
2018-05-08 606c896c1b7c9d986cfb13d8464f3482160a1389
src/main/resources/mapper/HistoryMapper.xml
@@ -1,15 +1,19 @@
<?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.HistoryMapper">
   <select id="getAreaAllDataByAccount" resultType="java.util.LinkedHashMap">
<mapper namespace="com.moral.mapper.HistoryMapper">
   <select id="selectValueByMacAndTime" resultType="java.lang.String">
      select `value` from history
      where  time = #{time} and mac = #{mac}
      limit 0,1
   </select>
   <select id="getAreaAllDataByAccount" resultType="java.util.Map">
      SELECT
      <if test="macKey == 'all'">
         ${queryColumns}
      </if>
      <if test="macKey != 'all'">
         d.`name`,
         AVG( h.`value` -> ${macKey}) avg
      </if>
         <if test="macKey != null">
            d.`name`,
         </if>
         <foreach  collection="sensorKeys" separator="," item="sensorKey">
            AVG(h.`value` ->'$.${sensorKey}[0]') AS '${sensorKey}'
         </foreach>
      FROM
         history h,
         device d,
@@ -26,15 +30,9 @@
            #{listItem}
         </foreach>
      </if>
      <if test="deviceVersionId != null">
         AND d.device_version_id = #{deviceVersionId}
      </if>
      <if test="macKey != 'all'">
      <if test="macKey != null">
         GROUP BY d.id
         ORDER BY avg desc
         ORDER BY ${macKey} desc
      </if>   
   </select>
</mapper>