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