WXDao_getDeviceStatusSumData.sql 808 B

12345678910111213141516171819202122232425262728293031323334353637
  1. SELECT
  2. count( DISTINCT monitor_point_id ) total,
  3. '离线' state
  4. FROM
  5. p_sensor_abnormal abn
  6. LEFT JOIN p_sensor_monitor_point point ON abn.monitor_point_id = point.id
  7. WHERE
  8. abn.state = '21'
  9. <#if projectid ?exists && projectid ?length gt 0>
  10. AND point.projectid = :projectid
  11. </#if>
  12. <#if qrydate ?exists && qrydate ?length gt 0>
  13. AND LEFT( abn.create_date, 10 ) = :qrydate
  14. </#if>
  15. UNION ALL
  16. SELECT
  17. count( DISTINCT pointid ) total,
  18. CASE
  19. qcdstate
  20. WHEN '0' THEN
  21. '正常'
  22. WHEN '11' THEN
  23. '超出上限'
  24. WHEN '12' THEN
  25. '低于下限'
  26. END AS state
  27. FROM
  28. p_sensor_record record
  29. WHERE 1=1
  30. <#if qrydate ?exists && qrydate ?length gt 0>
  31. AND LEFT( recordtime, 10 ) = :qrydate
  32. </#if>
  33. <#if projectid ?exists && projectid ?length gt 0>
  34. AND record.projectid = :projectid
  35. </#if>
  36. GROUP BY
  37. qcdstate