优化数采查询代码
This commit is contained in:
@@ -1130,7 +1130,7 @@ class Sf_Dashboard_Connect(http.Controller):
|
||||
SELECT * FROM device_data
|
||||
WHERE device_name = %s
|
||||
AND time::date = CURRENT_DATE
|
||||
AND device_state != '离线'
|
||||
AND device_state in ('离线')
|
||||
ORDER BY time ASC
|
||||
LIMIT 1;
|
||||
""", (item,))
|
||||
@@ -1143,7 +1143,7 @@ class Sf_Dashboard_Connect(http.Controller):
|
||||
SELECT * FROM device_data
|
||||
WHERE device_name = %s
|
||||
AND time::date = CURRENT_DATE
|
||||
AND device_state != '离线'
|
||||
AND device_state in ('离线')
|
||||
ORDER BY time DESC
|
||||
LIMIT 1;
|
||||
""", (item,))
|
||||
@@ -1161,25 +1161,25 @@ class Sf_Dashboard_Connect(http.Controller):
|
||||
# 获取当月第一条记录(排除device_state等于‘离线’的记录)
|
||||
with conn.cursor() as cur:
|
||||
cur.execute("""
|
||||
SELECT * FROM device_data
|
||||
SELECT * FROM device_datas
|
||||
WHERE device_name = %s
|
||||
AND EXTRACT(YEAR FROM time) = EXTRACT(YEAR FROM CURRENT_DATE)
|
||||
AND EXTRACT(MONTH FROM time) = EXTRACT(MONTH FROM CURRENT_DATE)
|
||||
AND device_state != '离线'
|
||||
AND time >= DATE_TRUNC('MONTH', CURRENT_DATE)
|
||||
AND time < DATE_TRUNC('MONTH', CURRENT_DATE) + INTERVAL '1 MONTH'
|
||||
AND device_state in ('离线')
|
||||
ORDER BY time ASC
|
||||
LIMIT 1;
|
||||
""", (item,))
|
||||
first_month = fetch_result_as_dict(cur)
|
||||
# print("当月第一条记录(非离线):", first_month)
|
||||
# print("当月第一条记录:", first_month)
|
||||
|
||||
# 获取当月最新一条记录(排除device_state等于‘离线’的记录)
|
||||
# 获取当月最新一条记录
|
||||
with conn.cursor() as cur:
|
||||
cur.execute("""
|
||||
SELECT * FROM device_data
|
||||
WHERE device_name = %s
|
||||
AND EXTRACT(YEAR FROM time) = EXTRACT(YEAR FROM CURRENT_DATE)
|
||||
AND EXTRACT(MONTH FROM time) = EXTRACT(MONTH FROM CURRENT_DATE)
|
||||
AND device_state != '离线'
|
||||
AND time >= DATE_TRUNC('MONTH', CURRENT_DATE)
|
||||
AND time < DATE_TRUNC('MONTH', CURRENT_DATE) + INTERVAL '1 MONTH'
|
||||
AND device_state in ('离线')
|
||||
ORDER BY time DESC
|
||||
LIMIT 1;
|
||||
""", (item,))
|
||||
@@ -1200,7 +1200,7 @@ class Sf_Dashboard_Connect(http.Controller):
|
||||
cur.execute("""
|
||||
SELECT * FROM device_data
|
||||
WHERE device_name = %s
|
||||
AND device_state != '离线'
|
||||
AND device_state in ('离线')
|
||||
ORDER BY time ASC
|
||||
LIMIT 1;
|
||||
""", (item,))
|
||||
@@ -1212,7 +1212,7 @@ class Sf_Dashboard_Connect(http.Controller):
|
||||
cur.execute("""
|
||||
SELECT * FROM device_data
|
||||
WHERE device_name = %s
|
||||
AND device_state != '离线'
|
||||
AND device_state in ('离线')
|
||||
ORDER BY time DESC
|
||||
LIMIT 1;
|
||||
""", (item,))
|
||||
@@ -1290,7 +1290,7 @@ class Sf_Dashboard_Connect(http.Controller):
|
||||
cur.execute("""
|
||||
SELECT * FROM device_data
|
||||
WHERE device_name = %s
|
||||
AND device_state != '离线' AND process_time IS NOT NULL
|
||||
AND device_state in ('离线') AND process_time IS NOT NULL
|
||||
ORDER BY time DESC
|
||||
LIMIT 1;
|
||||
""", (item,))
|
||||
@@ -1299,7 +1299,7 @@ class Sf_Dashboard_Connect(http.Controller):
|
||||
cur.execute("""
|
||||
SELECT * FROM device_data
|
||||
WHERE device_name = %s
|
||||
AND device_state != '离线' AND time >= %s AND process_time IS NOT NULL
|
||||
AND device_state in ('离线') AND time >= %s AND process_time IS NOT NULL
|
||||
ORDER BY time ASC
|
||||
LIMIT 1;
|
||||
""", (item, time_threshold))
|
||||
|
||||
Reference in New Issue
Block a user