Re: Abfrage mit Datum als Serie.

Thomas Drebert <[email protected]> Thu, 13 Mar 2014 14:10:04 +0100
Newsgroups gmane.comp.db.postgresql.german
Message-ID <CANn+32gEw3LPG_FKOp5TS=eB0oo3O+n5v8Vn8Qy6kD7aLfZBXw@mail.gmail.com>
Hallo,

theoretisch funktioniert es, aber ich hab das gleiche Problem wie ganz am
Anfang, es fehlen Intervale
Die Abfrage:
select foo.updatezeit, avg(variablen.value) from (select ('12.03.2014
00:00:00'::timestamp + s * '5minutes'::interval) as updatezeit from
generate_Series(0,40000)s)
foo left join variablen using(updatezeit)
where varid = (56647)
group by 1
order by 1

Das Ergebniss:
"2014-03-12 00:00:00";21.8125
"2014-03-12 00:25:00";21.75
"2014-03-12 00:40:00";21.75
"2014-03-12 01:45:00";21.625
"2014-03-12 01:55:00";21.625
"2014-03-12 02:35:00";21.4375
"2014-03-12 04:30:00";21.0625

Schöne Grüße
Thomas



Am 13. März 2014 13:23 schrieb Andreas Kretschmer - internet24 GmbH <
[email protected]>:

>
>
> > -----Ursprüngliche Nachricht-----
> > Von: [email protected] [mailto:pgsql-de-allgemein-
> > [email protected]] Im Auftrag von Thomas Drebert
> > Gesendet: Donnerstag, 13. März 2014 13:13
> > An: [email protected]
> > Betreff: Re: [pgsql-de-allgemein] Abfrage mit Datum als Serie.
> >
> > Hallo,
> >
> > kann mir jemand noch mal diese Zeile aufschlüsseln?
> > select (current_date + s * '1day'::interval)::date as d from
> > generate_Series(1,10)s)
> >
> >
> >
> > Besonders was macht der Stern * oder was bedeuten die ::
> > oder wie wandelt man die Zeile in Serie by hour oder minuten?
>
> Der * ist der Operator für Multiplikation. Die :: ist der CAST-Operator,
> damit mache ich aus dem String '1day' ein Interval bzw. aus dem Timestamp
> dann ein date. Wenn Du statt '1day' andere Intervalle willst, dann ändere
> dies. Dann willst Du aber kein DATE, sondern ein TIMESTAMP, dann kannst den
> letzten CAST auch weglassen.
>
>
>
> Verwirrung nun vollständig?
>
> ;-)
>
>
> Andreas
>