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 | 89 +++++++++++++++++++++++++++++++++++++++-----
1 files changed, 78 insertions(+), 11 deletions(-)
diff --git a/src/main/resources/mapper/HistoryEntityMapper.xml b/src/main/resources/mapper/HistoryEntityMapper.xml
index ea7322f..2d1c61d 100644
--- a/src/main/resources/mapper/HistoryEntityMapper.xml
+++ b/src/main/resources/mapper/HistoryEntityMapper.xml
@@ -231,15 +231,20 @@
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">
SELECT
- h.mac_key,
+ <if test="macKey != null and macKey != 'all'">
+ e.name,
+ </if>
+ <if test="macKey == 'all'">
+ h.mac_key,
+ </if>
AVG(h.mac_value) avg
FROM
history h,
@@ -258,8 +263,14 @@
#{listItem}
</foreach>
</if>
- GROUP BY
- h.mac_key
+ <if test="macKey != null and macKey != 'all'">
+ 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>
<select id="getEquipmentStates" resultType="map">
@@ -275,11 +286,67 @@
#{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 < #{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