· 6 years ago · Jul 17, 2019, 02:28 PM
1CREATE TABLE IF NOT EXISTS altitude
2(
3 time TIMESTAMPTZ NOT NULL,
4 workout_id VARCHAR(24) NOT NULL,
5 user_id VARCHAR(24) NOT NULL,
6 altitude DOUBLE PRECISION NOT NULL,
7 gain DOUBLE PRECISION NOT NULL,
8 loss DOUBLE PRECISION NOT NULL,
9 activity_type VARCHAR(32) NOT NULL,
10 absolute_time DOUBLE PRECISION,
11 absolute_distance DOUBLE PRECISION
12);
13
14SELECT distance, speed FROM calculate_speed_by_distance(from_time, to_tim, step_distance) ORDER BY distance
15
16200m 400m 600m 800m
175km/h 10km/h 11km/h 8km/h
18
19CREATE OR REPLACE FUNCTION calculate_speed_by_distance(arg_time_from timestamp,
20 arg_time_to timestamp,
21 arg_distance_step bigint,
22 arg_workout_id varchar(24),
23 arg_user_id varchar(24))
24 RETURNS TABLE
25 (
26 distance double precision,
27 value double precision
28 )
29AS
30'
31 BEGIN
32 RETURN query with ...
33 END;
34' LANGUAGE PLPGSQL;