[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [postgresql-it] calcolo e inserimento dati a gruppi
- From: Daniele Varrazzo <piro@xxxxxxxxxxx>
- Subject: Re: [postgresql-it] calcolo e inserimento dati a gruppi
- Date: Fri, 15 Jun 2012 18:53:21 +0000
On Fri, 15 Jun 2012 20:42:00 +0200, Daniele Frigo wrote:
Qualcosa tipo questo dovrebbe funzionare:
UPDATE import.events a SET average_ml_daily = (SELECT
avg("Magnitudo") FROM
import.events b WHERE a.doy = b.doy) ;
Devi legare la query interna con quella esterna, ed il gioco è fatto.
Scusa ma non un postgres sotto mano per provare la sintassi esatta.
Non mi sembra corretto, ma non so non avendo lo schema sottomano.
Pensavo più a qualcosa tipo:
UPDATE import.events e SET average_ml_daily = avg_mag
from (SELECT doy, avg("Magnitudo") as avg_mag FROM import.events
group by doj) avgs
where avgs.doy = e.doy;
Anche questo non testato.
Nota 1: il doy non mi sembra una grande idea: è un dato che puoi
ricavarti con una sottrazione. Perché non memorizzi il timestamp
dell'evento e basta?
Nota 2: i campi con l'iniziale maiuscola e tra virgolette ti creeranno
solo problemi (non è un bikeshedding sulla naming convention: Magnitudo
non è uguale a "Magnitudo").
--
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com