-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfirst_value.sql
62 lines (62 loc) · 1.61 KB
/
first_value.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
-- Find the first occurence of the SLA --
CREATE TABLE if NOT EXISTS "final_sla_dates" AS
SELECT
DISTINCT first_value("real_date") OVER (
PARTITION BY "delivery_id",
"real_state",
"order"
ORDER BY
"order":: number asc,
"real_date" asc
) "real_date",
first_value("status_created_date") OVER (
PARTITION BY "delivery_id",
"real_state",
"order"
ORDER BY
"order":: number asc,
"status_created_date" asc
) "status_created_date",
first_value("real_state") OVER (
PARTITION BY "delivery_id",
"real_state",
"order"
ORDER BY
"order":: number asc,
"real_date" asc
) "real_state",
first_value("real_state_cz") OVER (
PARTITION BY "delivery_id",
"real_state",
"order"
ORDER BY
"order":: number asc,
"real_date" asc
) "real_state_cz",
"delivery_id",
"is_active",
"tracking_id",
last_value("updated_date") OVER (
PARTITION BY "delivery_id"
ORDER BY
"updated_date" asc
) "updated_date",
first_value("status") OVER (
PARTITION BY "delivery_id",
"real_state",
"order"
ORDER BY
"order":: number asc,
"real_date" asc
) "status",
first_value("order") OVER (
PARTITION BY "delivery_id",
"real_state",
"order"
ORDER BY
"order":: number asc,
"real_date" asc
) "order"
FROM "final_sla_dates1"
WHERE "real_date" IS NOT NULL
ORDER BY "order" desc;