Tabelle hinzugefügt
This commit is contained in:
41
api/main.py
41
api/main.py
@@ -383,35 +383,22 @@ async def get_daily_aggregated_data(
|
||||
conn = get_db_connection()
|
||||
try:
|
||||
with conn.cursor() as cursor:
|
||||
# Bei 365 Tagen: alle verfügbaren Daten zurückgeben
|
||||
if days >= 365:
|
||||
cursor.execute("""
|
||||
cursor.execute("""
|
||||
SELECT
|
||||
date_trunc('day', datetime) as datetime,
|
||||
AVG(temperature)::float as temperature,
|
||||
MIN(temperature)::float as min_temperature,
|
||||
MAX(temperature)::float as max_temperature,
|
||||
ROUND(AVG(humidity))::int as humidity,
|
||||
MIN(humidity)::int as min_humidity,
|
||||
MAX(humidity)::int as max_humidity,
|
||||
AVG(pressure)::float as pressure,
|
||||
MIN(pressure)::float as min_pressure,
|
||||
MAX(pressure)::float as max_pressure,
|
||||
AVG(wind_speed * 1.60934)::float as wind_speed,
|
||||
MAX(wind_gust * 1.60934)::float as wind_gust,
|
||||
AVG(wind_dir)::float as wind_dir
|
||||
FROM weather_data
|
||||
GROUP BY date_trunc('day', datetime)
|
||||
ORDER BY datetime ASC
|
||||
""")
|
||||
else:
|
||||
cursor.execute("""
|
||||
SELECT
|
||||
date_trunc('day', datetime) as datetime,
|
||||
AVG(temperature)::float as temperature,
|
||||
MIN(temperature)::float as min_temperature,
|
||||
MAX(temperature)::float as max_temperature,
|
||||
ROUND(AVG(humidity))::int as humidity,
|
||||
AVG(pressure)::float as pressure,
|
||||
AVG(wind_speed * 1.60934)::float as wind_speed,
|
||||
MAX(wind_gust * 1.60934)::float as wind_gust,
|
||||
AVG(wind_dir)::float as wind_dir
|
||||
AVG(wind_dir)::float as wind_dir,
|
||||
SUM(rain)::float as total_rain
|
||||
FROM weather_data
|
||||
WHERE datetime >= NOW() - make_interval(days => %s)
|
||||
GROUP BY date_trunc('day', datetime)
|
||||
@@ -439,10 +426,15 @@ async def get_daily_with_minmax_data(
|
||||
MIN(temperature)::float as min_temperature,
|
||||
MAX(temperature)::float as max_temperature,
|
||||
ROUND(AVG(humidity))::int as humidity,
|
||||
MIN(humidity)::int as min_humidity,
|
||||
MAX(humidity)::int as max_humidity,
|
||||
AVG(pressure)::float as pressure,
|
||||
MIN(pressure)::float as min_pressure,
|
||||
MAX(pressure)::float as max_pressure,
|
||||
AVG(wind_speed * 1.60934)::float as wind_speed,
|
||||
MAX(wind_gust * 1.60934)::float as wind_gust,
|
||||
AVG(wind_dir)::float as wind_dir
|
||||
AVG(wind_dir)::float as wind_dir,
|
||||
SUM(rain)::float as total_rain
|
||||
FROM weather_data
|
||||
WHERE datetime >= NOW() - make_interval(days => %s)
|
||||
GROUP BY date_trunc('day', datetime)
|
||||
@@ -566,10 +558,15 @@ async def get_daily_aggregated_range(
|
||||
MIN(temperature)::float as min_temperature,
|
||||
MAX(temperature)::float as max_temperature,
|
||||
ROUND(AVG(humidity))::int as humidity,
|
||||
MIN(humidity)::int as min_humidity,
|
||||
MAX(humidity)::int as max_humidity,
|
||||
AVG(pressure)::float as pressure,
|
||||
MIN(pressure)::float as min_pressure,
|
||||
MAX(pressure)::float as max_pressure,
|
||||
AVG(wind_speed * 1.60934)::float as wind_speed,
|
||||
MAX(wind_gust * 1.60934)::float as wind_gust,
|
||||
AVG(wind_dir)::float as wind_dir
|
||||
AVG(wind_dir)::float as wind_dir,
|
||||
SUM(rain)::float as total_rain
|
||||
FROM weather_data
|
||||
WHERE datetime BETWEEN %s AND %s
|
||||
GROUP BY date_trunc('day', datetime)
|
||||
|
||||
Reference in New Issue
Block a user