From 43c0f7bd6b605b2c71f58e43055144004e7d42e7 Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei>
Date: Thu, 16 Nov 2017 17:29:26 +0800
Subject: [PATCH] 降序 排序

---
 src/main/resources/mapper/HistoryEntityMapper.xml |   74 ++++++++++++++++++++++++++++--------
 1 files changed, 57 insertions(+), 17 deletions(-)

diff --git a/src/main/resources/mapper/HistoryEntityMapper.xml b/src/main/resources/mapper/HistoryEntityMapper.xml
index c0d79d5..3089c66 100644
--- a/src/main/resources/mapper/HistoryEntityMapper.xml
+++ b/src/main/resources/mapper/HistoryEntityMapper.xml
@@ -231,19 +231,19 @@
 		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">
 		SELECT
-			<if test="macKey == 'all'">
-			h.mac_key,
-			</if>	
 			<if test="macKey != null and macKey != 'all'">
-			e.name,
+				e.name,
+			</if>	
+			<if test="macKey == 'all'">
+				h.mac_key,
 			</if>	
 			AVG(h.mac_value) avg
 		FROM
@@ -263,12 +263,13 @@
 				#{listItem}
 			</foreach>
 		</if>
-		<if test="macKey == 'all'">
-		GROUP BY
-			h.mac_key
-		</if>	
 		<if test="macKey != null and macKey != 'all'">
-		AND	h.mac_key = #{macKey}
+			AND	h.mac_key = #{macKey}
+			GROUP BY e.id
+			ORDER BY avg desc
+		</if>	
+		<if test="macKey == 'all'">
+			GROUP BY h.mac_key
 		</if>	
 	</select>
 
@@ -285,11 +286,50 @@
 				#{listItem}
 			</foreach>
 		</if>
-		GROUP BY
-			state
+		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>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0