Ich benutze BigQuery und habe eine Tabelle mit drei Spalten: district
(String), price
(float) und timestamp
). Meine Tabelle sieht wie folgt aus:SQL: zwei Abfragen für verschiedene Zeiträume und prozentuale Änderung berechnen?
district price date
OOX 200 2015-01-01
00Y 213 2015-01-01
00X 215 2015-01-01
Ich möchte im Jahr 2015 im Jahr 2005 der durchschnittliche Preis von Kreis der mittleren Preis von Bezirk berechnen, und die prozentuale Differenz zwischen ihnen. Mit anderen Worten, ich würde Ausgang mag, die wie folgt aussieht:
district price_2005 price_2015 percent_change
00X 125 205 0.64
00Y 116 200 0.72
Das Format der percent_change
Spalte ist nicht entscheidend - es könnte auch eine Prozentzahl, etc. sein
Wie kann ich BigQuery, um dies zu tun? Ich habe so weit gekommen:
SELECT district, AVG(price) AS price
FROM mytable
WHERE date BETWEEN TIMESTAMP('2005-01-01') AND TIMESTAMP('2015-12-31')
GROUP BY district
Aber ich weiß nicht, wie die restlichen zwei Spalten zu erhalten, ohne separate Abfragen zu tun. Brauche ich eine Unterabfrage?