Skip to content

Instantly share code, notes, and snippets.

@ramiroaznar
Created June 15, 2017 15:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ramiroaznar/686359a7098b7ab1403d16b3e1c5c910 to your computer and use it in GitHub Desktop.
Save ramiroaznar/686359a7098b7ab1403d16b3e1c5c910 to your computer and use it in GitHub Desktop.
How to pivot a table with PostgreSQL in CARTO
with data as (
select
cartodb_id as original_id,
to_timestamp(unnest(array['Apr 2011','May 2011','Jun 2011','Jul 2011','Aug 2011','Sep 2011','Oct 2011','Nov 2011','Dec 2011','Jan 2012','Feb 2012','Mar 2012','Apr 2012','May 2012','Jun 2012','Jul 2012','Aug 2012','Sep 2012','Oct 2012','Nov 2012','Dec 2012','Jan 2013','Feb 2013','Mar 2013','Apr 2013','May 2013','Jun 2013','Jul 2013','Aug 2013','Sep 2013','Oct 2013','Nov 2013','Dec 2013','Jan 2014','Feb 2014','Mar 2014','Apr 2014','May 2014','Jun 2014','Jul 2014','Aug 2014','Sep 2014','Oct 2014','Nov 2014','Dec 2014','Jan 2015','Feb 2015','Mar 2015','Apr 2015','May 2015','Jun 2015','Jul 2015','Aug 2015','Sep 2015','Oct 2015','Nov 2015','Dec 2015','Jan 2016','Feb 2016','Mar 2016','Apr 2016','May 2016','Jun 2016','Jul 2016','Aug 2016','Sep 2016','Oct 2016','Nov 2016','Dec 2016','Jan 2017','Feb 2017','Mar 2017
']), 'Mon YYYY') AS date,
unnest(array[Apr11,May11,Jun11,Jul11,Aug11,Sep11,Oct11,Nov11,Dec11,Jan12,Feb12,Mar12,Apr12,May12,Jun12,Jul12,Aug12,Sep12,Oct12,Nov12,Dec12,Jan13,Feb13,Mar13,Apr13,May13,Jun13,Jul13,Aug13,Sep13,Oct13,Nov13,Dec13,Jan14,Feb14,Mar14,Apr14,May14,Jun14,Jul14,Aug14,Sep14,Oct14,Nov14,Dec14,Jan15,Feb15,Mar15,Apr15,May15,Jun15,Jul15,Aug15,Sep15,Oct15,Nov15,Dec15,Jan16,Feb16,Mar16,Apr16,May16,Jun16,Jul16,Aug16,Sep16,Oct16,Nov16,Dec16,Jan17,Feb17,Mar17
]) AS num_syrians,
country,
iso_code,
unhcr_code,
st_centroid(the_geom) as the_geom
from
syrian_asylum_seekers_total
) select
row_number() over () as cartodb_id,
st_transform(the_geom, 3857) as the_geom_webmercator,
*
from data
@ramiroaznar
Copy link
Author

  • Input:

input

  • Output:

output

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment