Compare commits

...

2 Commits

Author SHA1 Message Date
b9a575219a overall stats as training_info view 2021-03-02 09:00:57 +01:00
aa792ce33a training_info view 2021-03-02 09:00:13 +01:00
2 changed files with 16 additions and 11 deletions

View File

@ -47,4 +47,18 @@ from (select td_row_n.t, td_row_n.id, td_row_n.geog
where td_row_n.row_n = 1) td_end
on (td_start.id = td_end.id)
);
create or replace view training_info as
(select distinct
td.t::date,
date_trunc('second', training_duration.start_time::time) as start_time,
date_trunc('second', training_duration.end_time::time) as end_time,
training_duration.duration as duration,
round(((t.moving_distance)/1000)::numeric, 2) as distance,
round(( (t.moving_distance / 1000) / (select extract(epoch from training_duration.duration)/3600))::numeric, 1) as pace_kmh
from training t
join training_data td on (t.id = td.training_id)
join training_duration on (t.id = training_duration.id)
order by td.t::date, date_trunc('second', training_duration.start_time::time) asc
);

View File

@ -3,17 +3,8 @@ from tabulate import tabulate
def print_stats(db: Connection):
overall_stats = """
select distinct
td.t::date,
date_trunc('second', training_duration.start_time::time) as start_time,
date_trunc('second', training_duration.end_time::time) as end_time,
training_duration.duration as duration,
round(((t.moving_distance)/1000)::numeric, 2) as distance,
round(( (t.moving_distance / 1000) / (select extract(epoch from training_duration.duration)/3600))::numeric, 1) as pace_kmh
from training t
join training_data td on (t.id = td.training_id)
join training_duration on (t.id = training_duration.id)
order by td.t::date, date_trunc('second', training_duration.start_time::time) asc
select *
from training_info
"""
print(tabulate(list(db.execute(overall_stats)),