|
-- Show tmax values by day, with one column for year |
|
-- This works with PostgreSQL, though there are likely similar techniques that work with other RDBMs |
|
-- This kind of sucks because you can't generate the output columns dynamically, though |
|
-- you could write a custom function that generates text as described as |
|
-- http://www.cureffi.org/2013/03/19/automatically-creating-pivot-table-column-names-in-postgresql/ |
|
-- You can leverage your editor like I did to quickly generate the tmax_YYYY column definitions. |
|
SELECT * FROM crosstab( |
|
'SELECT (lpad(month::text, 2, ''0'') || ''/'' || lpad(day::text, 2, ''0'')) AS monthday, year, tmax FROM summers ORDER BY 1', |
|
'SELECT DISTINCT year FROM summers ORDER BY 1' |
|
) |
|
AS pivot( |
|
day text, |
|
tmax_1959 character varying(3), |
|
tmax_1960 character varying(3), |
|
tmax_1961 character varying(3), |
|
tmax_1962 character varying(3), |
|
tmax_1963 character varying(3), |
|
tmax_1964 character varying(3), |
|
tmax_1965 character varying(3), |
|
tmax_1966 character varying(3), |
|
tmax_1967 character varying(3), |
|
tmax_1968 character varying(3), |
|
tmax_1969 character varying(3), |
|
tmax_1970 character varying(3), |
|
tmax_1971 character varying(3), |
|
tmax_1972 character varying(3), |
|
tmax_1973 character varying(3), |
|
tmax_1974 character varying(3), |
|
tmax_1975 character varying(3), |
|
tmax_1976 character varying(3), |
|
tmax_1977 character varying(3), |
|
tmax_1978 character varying(3), |
|
tmax_1979 character varying(3), |
|
tmax_1980 character varying(3), |
|
tmax_1981 character varying(3), |
|
tmax_1982 character varying(3), |
|
tmax_1983 character varying(3), |
|
tmax_1984 character varying(3), |
|
tmax_1985 character varying(3), |
|
tmax_1986 character varying(3), |
|
tmax_1987 character varying(3), |
|
tmax_1988 character varying(3), |
|
tmax_1989 character varying(3), |
|
tmax_1990 character varying(3), |
|
tmax_1991 character varying(3), |
|
tmax_1992 character varying(3), |
|
tmax_1993 character varying(3), |
|
tmax_1994 character varying(3), |
|
tmax_1995 character varying(3), |
|
tmax_1996 character varying(3), |
|
tmax_1997 character varying(3), |
|
tmax_1998 character varying(3), |
|
tmax_1999 character varying(3), |
|
tmax_2000 character varying(3), |
|
tmax_2001 character varying(3), |
|
tmax_2002 character varying(3), |
|
tmax_2003 character varying(3), |
|
tmax_2004 character varying(3), |
|
tmax_2005 character varying(3), |
|
tmax_2006 character varying(3), |
|
tmax_2007 character varying(3), |
|
tmax_2008 character varying(3), |
|
tmax_2009 character varying(3), |
|
tmax_2010 character varying(3), |
|
tmax_2011 character varying(3), |
|
tmax_2012 character varying(3), |
|
tmax_2013 character varying(3), |
|
tmax_2014 character varying(3), |
|
tmax_2015 character varying(3) |
|
); |