Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- create table raw(dateRep date,day int,month int,year int,cases int,deaths int,countriesAndTerritories text,geoId text ,countryterritoryCode text,popData2018 int,continentExp text);
- \copy raw FROM 'Downloads/covid.csv' WITH (FORMAT CSV, HEADER);
- WITH rawdata AS (
- select countriesandterritories country
- , daterep AS day
- , cases
- , cases - LAG(cases) OVER w AS casesdeltabefore
- , LEAD(cases) OVER w - cases AS casesdeltaafter
- , deaths
- , deaths - LAG(deaths) OVER w AS deathsdeltabefore
- , LEAD(deaths) OVER w - deaths AS deathsdeltaafter
- from raw
- where countriesandterritories='Switzerland'
- WINDOW w AS (PARTITION BY countriesandterritories ORDER BY daterep)
- order by daterep
- ),
- trends AS (
- SELECT country, day
- ,cases
- ,CASE WHEN casesdeltabefore != 0 THEN casesdeltabefore / abs(casesdeltabefore) ELSE 0 END AS casetrendbefore
- ,CASE WHEN casesdeltaafter != 0 THEN casesdeltaafter / abs(casesdeltaafter) ELSE 0 END AS casetrendafter
- ,deaths
- ,CASE WHEN deathsdeltabefore != 0 THEN deathsdeltabefore / abs(deathsdeltabefore) ELSE 0 END AS deathstrendbefore
- ,CASE WHEN deathsdeltaafter != 0 THEN deathsdeltaafter / abs(deathsdeltaafter) ELSE 0 END AS deathstrendafter
- FROM rawdata
- )
- , turning_points AS (
- SELECT Country, day, cases, deaths FROM trends
- WHERE casetrendbefore != casetrendafter AND casetrendafter = -1
- )
- SELECT *,row_number() OVER ()
- FROM turning_points
- ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement