diff --git a/aucma-base/src/main/resources/mapper/base/BaseDeviceParamValMapper.xml b/aucma-base/src/main/resources/mapper/base/BaseDeviceParamValMapper.xml index 1fbbe7a..ddc19b8 100644 --- a/aucma-base/src/main/resources/mapper/base/BaseDeviceParamValMapper.xml +++ b/aucma-base/src/main/resources/mapper/base/BaseDeviceParamValMapper.xml @@ -24,13 +24,13 @@ @@ -92,7 +92,7 @@ - + SELECT * + FROM ( + SELECT + record_id, param_code, device_code, device_id, param_name, param_value, + collect_time, record_time, + ROW_NUMBER() OVER (ORDER BY device_code, param_code) AS row_num + FROM ( + SELECT + record_id, param_code, device_code, device_id, param_name, param_value, + collect_time, record_time, + ROW_NUMBER() OVER (PARTITION BY device_code, param_code ORDER BY NVL(record_time, collect_time) DESC) AS rn + FROM base_device_param_val B + WHERE 1=1 + AND device_code = #{deviceCode} + AND param_code = #{paramCode} + AND device_id = #{deviceId} + AND param_name LIKE '%' || #{paramName} || '%' + + + AND NVL(record_time, collect_time) BETWEEN #{beginTime} AND #{endTime} + + ) WHERE rn = 1 + ) WHERE row_num <= 200 WITH today_latest AS ( - SELECT + SELECT /*+ PARALLEL(4) */ device_code, param_value, ROW_NUMBER() OVER (PARTITION BY device_code ORDER BY NVL(record_time, collect_time) DESC) AS rn FROM base_device_param_val - WHERE TRUNC(collect_time) = TRUNC(SYSDATE) - AND param_name = '机台状态-开机时间' + WHERE param_name = '机台状态-开机时间' + AND collect_time >= TRUNC(SYSDATE) AND collect_time < TRUNC(SYSDATE) + 1 ) SELECT d.device_code AS deviceCode,