From 9a3d7f190717a6e3af608ffa0d78c66b6bcc0e8a Mon Sep 17 00:00:00 2001 From: 于紫祥_1901 <email@yuzixiang_1910> Date: Thu, 10 Sep 2020 15:23:07 +0800 Subject: [PATCH] 因子对比 --- src/main/resources/mapper/HistoryMapper.xml | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 104 insertions(+), 2 deletions(-) diff --git a/src/main/resources/mapper/HistoryMapper.xml b/src/main/resources/mapper/HistoryMapper.xml index d200aa3..4ed149c 100644 --- a/src/main/resources/mapper/HistoryMapper.xml +++ b/src/main/resources/mapper/HistoryMapper.xml @@ -175,13 +175,15 @@ SELECT DATE_FORMAT(time,'%Y-%m-%d %H:%i') time, <foreach collection="sensorKeys" separator="," item="sensorKey"> - AVG(h.value ->'$.${sensorKey}') AS '${sensorKey}' + AVG(h.value ->'$.${sensorKey}') AS '${sensorKey}', + MIN(cast(h.value ->'$.${sensorKey}' as decimal(11,5))) AS 'min${sensorKey}', + MAX(cast(h.value ->'$.${sensorKey}' as decimal(11,5))) AS 'max${sensorKey}' </foreach> FROM history h <where> <if test="mac!=null"> - and h.mac=#{mac} + and h.mac = #{mac} </if> and h.time >= #{startTime} and h.time <![CDATA[<=]]> #{endTime} @@ -191,4 +193,104 @@ ORDER BY time </select> + + <select id="getAVGSensorRankByMonitorPointIdList" resultType="java.util.Map"> + SELECT mp.name, AVG(JSON_EXTRACT(h.value,'$.${sensor}[0]')) sensor + FROM device d, history h, monitor_point mp + WHERE d.mac=h.mac + And mp.id=d.monitor_point_id + AND d.monitor_point_id IN + <foreach collection="monitorPointIdList" index="index" item="monitorPointId" open="(" separator="," close=")"> + #{monitorPointId} + </foreach> + AND h.time BETWEEN #{before5Time} AND #{endTime} + GROUP BY d.monitor_point_id + ORDER BY AVG(JSON_EXTRACT(h.value,'$.${sensor}[0]')) DESC + </select> + + <select id="getMonitorPointAVGValueByMonitorPointIdAndTimeslot" resultType="java.util.Map"> + SELECT AVG(JSON_EXTRACT(value,'$.e1[0]')) e1,AVG(JSON_EXTRACT(value,'$.e2[0]')) e2,AVG(JSON_EXTRACT(value,'$.e10[0]')) e10,AVG(JSON_EXTRACT(value,'$.e11[0]')) e11,AVG(JSON_EXTRACT(value,'$.e16[0]')) e16,AVG(JSON_EXTRACT(value,'$.e15[0]')) e15 + FROM device d,history h + WHERE d.monitor_point_id = #{monitor_point_id} + AND d.mac = h.mac + AND h.time BETWEEN #{starttime} AND #{endtime} + </select> + + <!-- ���������sensor������ --> + <select id="getCarSensorData" resultType="java.util.LinkedHashMap"> + SELECT + DATE_FORMAT(h.time,'%Y-%m-%d %H:%i:%s') time, + <foreach collection="sensorKeys" item="sensorKey" separator=","> + h.value->'$.${sensorKey}' as '${sensorKey}' + </foreach> + FROM + history_special as h + <where> + <if test="mac!=null"> + and h.mac = #{mac} + </if> + and h.time >= #{startTime} + and h.time <![CDATA[<]]> #{endTime} + </where> + ORDER BY + h.time + </select> + + <!-- ��������������� --> + <select id="getUavSensorData" resultType="java.util.LinkedHashMap"> + SELECT + DATE_FORMAT(h.time,'%Y-%m-%d %H:%i:%s') time, + <foreach collection="sensorKeys" item="sensorKey" separator=","> + h.value->'$.${sensorKey}' as '${sensorKey}' + </foreach> + FROM + history_special as h + <where> + <if test="mac!=null"> + and h.mac = #{mac} + </if> + and h.time >= #{startTime} + and h.time <![CDATA[<]]> #{endTime} + </where> + ORDER BY + h.time + </select> + + <select id="listGetSensorData" resultType="java.util.LinkedHashMap"> + SELECT + DATE_FORMAT(h.time,'%Y-%m-%d %H:%i:%s') time, + <foreach collection="sensorKeys" item="sensorKey" separator=","> + h.value->'$.${sensorKey}' as '${sensorKey}' + </foreach> + FROM + history as h + <where> + <if test="mac!=null"> + and h.mac = #{mac} + </if> + and h.time >= #{startTime} + and h.time <![CDATA[<]]> #{endTime} + </where> + ORDER BY + h.time + </select> + + <select id="getNum" resultType="java.lang.Integer"> + select count(*) from history_hourly where time <![CDATA[>=]]> #{timef} and time <![CDATA[<=]]> #{timea} + </select> + + <select id="getO3AVG" resultType="java.util.LinkedHashMap"> + select DATE_FORMAT(time,'%Y-%m-%d %H:%i:%s') time,json->'$.e15[0]' as e15 + FROM history_hourly + where time <![CDATA[>=]]>#{date} + and time <![CDATA[<]]>#{nextDate} + and mac=#{mac} + ORDER BY `time` + </select> + + <select id="getJsonData" resultType="java.lang.String"> + select `json` from ${table} + where time = #{time} and mac = #{mac} + </select> + </mapper> \ No newline at end of file -- Gitblit v1.8.0