From 2e2861fd0bbba403a15a212c550bed9f8331f467 Mon Sep 17 00:00:00 2001 From: xufenglei <xufenglei> Date: Mon, 15 Jan 2018 17:14:13 +0800 Subject: [PATCH] 更新 查询 --- src/main/resources/mapper/HistoryEntityMapper.xml | 71 ++++++++++++++++++++++++++++++++--- 1 files changed, 64 insertions(+), 7 deletions(-) diff --git a/src/main/resources/mapper/HistoryEntityMapper.xml b/src/main/resources/mapper/HistoryEntityMapper.xml index cddc593..2d1c61d 100644 --- a/src/main/resources/mapper/HistoryEntityMapper.xml +++ b/src/main/resources/mapper/HistoryEntityMapper.xml @@ -231,10 +231,10 @@ FROM history WHERE - mac = #{mac} - AND mac_key = #{macKey} - AND time > #{start} - AND time < #{end} + mac = #{mac,jdbcType=VARCHAR} + AND mac_key = #{macKey,jdbcType=VARCHAR} + AND time > #{start,jdbcType=TIMESTAMP} + AND time < #{end,jdbcType=TIMESTAMP} </select> <select id="getAverageByAll" resultType="map"> @@ -266,7 +266,7 @@ <if test="macKey != null and macKey != 'all'"> AND h.mac_key = #{macKey} GROUP BY e.id - ORDER BY avg + ORDER BY avg desc </if> <if test="macKey == 'all'"> GROUP BY h.mac_key @@ -289,7 +289,64 @@ GROUP BY state </select> - <select id="getMacLogByLast" resultType="string"> - SELECT mac_log FROM logger ORDER BY time DESC LIMIT 1 + <select id="getSensorsAverageByEquipment" resultType="map"> + SELECT + concat(time,':00') AS 'time', + MAX(CASE WHEN mac_key='e1' THEN mac_value END) AS 'e1', + MAX(CASE WHEN mac_key='e2' THEN mac_value END) AS 'e2', + MAX(CASE WHEN mac_key='e3' THEN mac_value END) AS 'e3', + MAX(CASE WHEN mac_key='e4' THEN mac_value END) AS 'e4', + MAX(CASE WHEN mac_key='e5' THEN mac_value END) AS 'e5', + MAX(CASE WHEN mac_key='e6' THEN mac_value END) AS 'e6', + MAX(CASE WHEN mac_key='e7' THEN mac_value END) AS 'e7', + MAX(CASE WHEN mac_key='e8' THEN mac_value END) AS 'e8', + MAX(CASE WHEN mac_key='e9' THEN mac_value END) AS 'e9', + MAX(CASE WHEN mac_key='e10' THEN mac_value END) AS 'e10', + MAX(CASE WHEN mac_key='e11' THEN mac_value END) AS 'e11', + MAX(CASE WHEN mac_key='e12' THEN mac_value END) AS 'e12', + MAX(CASE WHEN mac_key='e13' THEN mac_value END) AS 'e13', + MAX(CASE WHEN mac_key='e14' THEN mac_value END) AS 'e14', + MAX(CASE WHEN mac_key='e15' THEN mac_value END) AS 'e15', + MAX(CASE WHEN mac_key='e16' THEN mac_value END) AS 'e16', + MAX(CASE WHEN mac_key='e17' THEN mac_value END) AS 'e17', + MAX(CASE WHEN mac_key='e18' THEN mac_value END) AS 'e18', + MAX(CASE WHEN mac_key='e19' THEN mac_value END) AS 'e19' + FROM + ( + SELECT + h.mac_key, + DATE_FORMAT(time, #{type}) time, + AVG(h.mac_value) mac_value + FROM + history h + WHERE + h.mac = #{mac} + AND h.time >= #{start} + AND h.time < #{end} + GROUP BY + h.mac_key, + DATE_FORMAT(time, #{type}) + ORDER BY + DATE_FORMAT(time, #{type}) + ) a + GROUP BY + time </select> + + <select id="getDayAQIByDevice" resultType="map"> + SELECT + AVG(json -> '$.e1[0]') e1, + AVG(json -> '$.e2[0]') e2, + AVG(json -> '$.e10[0]') e10, + AVG(json -> '$.e11[0]') e11, + AVG(json -> '$.e15[0]') e15, + AVG(json -> '$.e16[0]') e16 + FROM + data + WHERE + mac = #{mac} + AND time >= #{start} + AND time < #{end} + </select> + </mapper> \ No newline at end of file -- Gitblit v1.8.0