소스 검색

优化sql语句

18339543638 1 년 전
부모
커밋
eac8a45722
1개의 변경된 파일8개의 추가작업 그리고 24개의 파일을 삭제
  1. 8 24
      nb-service/web-service/src/main/resources/mapper/bus/BusDeviceAlarmMapper.xml

+ 8 - 24
nb-service/web-service/src/main/resources/mapper/bus/BusDeviceAlarmMapper.xml

@@ -27,12 +27,12 @@
 
     <select id="selectWarnCount" parameterType="com.nb.web.service.bus.service.dto.DeviceAlarmQuery" resultType="com.nb.web.service.bus.service.dto.DeviceWarnCountResult">
         SELECT
-        da.tenant_id,
+        tenant_id,
         SUM(CASE warn_will_finished WHEN 1 THEN 1 ELSE 0 END) as 'warn_will_finished',
         SUM(CASE warn_low_battery WHEN 1 THEN 1 ELSE 0 END) as 'warn_low_battery',
         SUM(CASE warn_analgesic_poor WHEN 1 THEN 1 ELSE 0 END) as 'warn_analgesic_poor'
         FROM
-        (select * from bus_device_alarm
+        bus_device_alarm
         <where>
             <if test="query.uploadTimeMin!=null">
                 and upload_time &gt;= #{query.uploadTimeMin}
@@ -44,30 +44,18 @@
                 AND device_type = #{query.type}
             </if>
         </where>
-        ) AS da
-        left JOIN (
-        select * from bus_device
-        <where>
-            <if test="query.uploadTimeMin != null">
-                and update_time >= #{query.uploadTimeMin}
-            </if>
-            <if test="query.uploadTimeMax != null">
-                AND update_time &lt;= #{query.uploadTimeMax}
-            </if>
-        </where>
-        ) AS d ON da.device_id = d.device_id
         GROUP BY
-        da.tenant_id
+        tenant_id
     </select>
 
 
     <select id="selectAlarmCount" parameterType="com.nb.web.service.bus.service.dto.DeviceAlarmQuery" resultType="com.nb.web.service.bus.service.dto.DeviceAlarmCountResult">
         SELECT
-        da.tenant_id,
-        da.alarm_state,
+        tenant_id,
+        alarm_state,
         COUNT(1) as alarm_count
         FROM
-        (select * from bus_device_alarm
+        bus_device_alarm
         <where>
             alarm_state !=-1
             <if test="query.uploadTimeMin!=null">
@@ -80,13 +68,9 @@
                 AND device_type = #{query.type}
             </if>
         </where>
-        ) AS da
-        left JOIN (
-        select * from bus_device
-        )AS d ON da.device_id = d.device_id
         GROUP BY
-        da.tenant_id,
-        da.alarm_state
+        tenant_id,
+        alarm_state
     </select>
 
     <select id="selectDeviceCount" parameterType="com.nb.web.api.entity.BusDeviceAlarmEntity" resultType="com.nb.web.service.bus.service.dto.DeviceCountResult">