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 &gt; #{start}
-		AND time &lt; #{end}
+			mac = #{mac,jdbcType=VARCHAR}
+		AND mac_key = #{macKey,jdbcType=VARCHAR}
+		AND time &gt; #{start,jdbcType=TIMESTAMP}
+		AND time &lt; #{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 &lt; #{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 &lt; #{end}
+	</select>
+	
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0