- Notifications
You must be signed in to change notification settings - Fork 849
/
Copy pathanalytics-First-look-at-Window-functions.sql
61 lines (35 loc) · 2.09 KB
/
analytics-First-look-at-Window-functions.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
REM Script: Analytics - First look at Window functions
REM SQL from the KISS (Keep It Simply SQL) Analytic video series by Developer Advocate Connor McDonald. This script introduces the window clause.
Run this script standalone, or take it as part of the complete Analytics class at https://tinyurl.com/devgym-classes
droptable water purge;
createtablewater ( name varchar2(30) primary key,
type varchar2(10),
square_km int );
insert into water(name,type,square_km) values ('Pacific Ocean','Ocean',155557000);
insert into water(name,type,square_km) values ('Atlantic Ocean','Ocean',76762000);
insert into water(name,type,square_km) values ('Indian Ocean','Ocean',68556000);
insert into water(name,type,square_km) values ('Southern Ocean','Ocean',20327000);
insert into water(name,type,square_km) values ('Arctic Ocean','Ocean',14056000);
insert into water(name,type,square_km) values ('Mediterranean Sea','Sea',2965800);
insert into water(name,type,square_km) values ('Caribbean Sea','Sea',2718200);
insert into water(name,type,square_km) values ('South China Sea','Sea',2319000);
insert into water(name,type,square_km) values ('Bering Sea','Sea',2291900);
insert into water(name,type,square_km) values ('Gulf of Mexico','Gulf',1592800);
insert into water(name,type,square_km) values ('Okhotsk Sea','Sea',1589700);
insert into water(name,type,square_km) values ('East China Sea','Sea',1249200);
insert into water(name,type,square_km) values ('Hudson Bay','Bay',1232300);
insert into water(name,type,square_km) values ('Japan Sea','Sea',1007800);
insert into water(name,type,square_km) values ('Andaman Sea','Sea',797700);
insert into water(name,type,square_km) values ('North Sea','Sea',575200);
insert into water(name,type,square_km) values ('Red Sea','Sea',438000);
insert into water(name,type,square_km) values ('Baltic Sea','Sea',422200);
commit
select*
from water
order by3desc;
select name, type, square_km,
sum(square_km) over ( order by square_km desc
rows between unbounded preceding and current row
) as tot
from water
order by3desc;