Ergebnis 1 bis 10 von 10

Thema: Wöchentliche Durchschnittswerte

  1. #1
    Grandfather ist offline Neuer Benutzer
    Registriert seit
    11.11.2010
    Beiträge
    5

    Standard Wöchentliche Durchschnittswerte

    Hallo Gemeinde,

    da ich ein wenig Zeitdruck bzgl meine Aufgabe habe möchte ich mein Problem hier kurz darstellen und hoffe, dass mir geholfen werden kann.

    Also ich habe eine Zeitreihe in einer PostgreSQL/PostGIS Datenbank zu Pegeldaten angelegt, welche den Wasserstand und Durchfluss zu einer bestimmten Messstation enthält. Nun soll ich wöchentliche Durchschnittswerte zu Wasserstand und Durchfluss in jeweils einem view darstellen. Kann mir jemand auf die Sprünge helfen, wie ich das in der SQL Abfrage realisieren kann.

    In der zweiten Teilaufgabe ist das Problem ein ähnliches, es handelt sich um eine Zeitreihe von einer DWD Wetterstation, mit Niederschlags- und Temperaturwerten, welche nun als jahresmittel dargestellt werden sollen.

    Vielen Dank für Eure Hilfe
    Henning

  2. #2
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von Grandfather Beitrag anzeigen
    Hallo Gemeinde,

    da ich ein wenig Zeitdruck bzgl meine Aufgabe habe möchte ich mein Problem hier kurz darstellen und hoffe, dass mir geholfen werden kann.

    Also ich habe eine Zeitreihe in einer PostgreSQL/PostGIS Datenbank zu Pegeldaten angelegt, welche den Wasserstand und Durchfluss zu einer bestimmten Messstation enthält. Nun soll ich wöchentliche Durchschnittswerte zu Wasserstand und Durchfluss in jeweils einem view darstellen. Kann mir jemand auf die Sprünge helfen, wie ich das in der SQL Abfrage realisieren kann.

    In der zweiten Teilaufgabe ist das Problem ein ähnliches, es handelt sich um eine Zeitreihe von einer DWD Wetterstation, mit Niederschlags- und Temperaturwerten, welche nun als jahresmittel dargestellt werden sollen.

    Vielen Dank für Eure Hilfe
    Henning
    Welche Version ist am Start?

    Ab 8.4 gibt es windowing-functions, damit bekommt man sowas hin.

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  3. #3
    Grandfather ist offline Neuer Benutzer
    Registriert seit
    11.11.2010
    Beiträge
    5

    Standard

    Gute Frage,
    ich bin leider auch nicht sehr erfahren auf dem Gebiet der Programmierung, also ich kann soviel sagen, dass wir über Ubuntu eine Virtuelle Maschine auf dem Rechner eingerichtet haben und jetzt in dieser mit pgAdmin III die Datenbank aufbauen sollten. Soweit hab ich das auch alles mit CREATE TABLE und COPY TABLE hinbekommen, aber die Abfragen wie oben beschrieben übersteigen im Mment leider meine Fähigkeiten.

    Gruß

  4. #4
    castorp ist offline Erfahrener Benutzer
    Registriert seit
    27.06.2009
    Beiträge
    525

    Standard

    Code:
    select version()
    zeigt Dir mit welcher Version Du arbeitest
    A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'

  5. #5
    Grandfather ist offline Neuer Benutzer
    Registriert seit
    11.11.2010
    Beiträge
    5

    Standard

    Danke!

    PostgreSQL 8.3.3

  6. #6
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von Grandfather Beitrag anzeigen
    Danke!

    PostgreSQL 8.3.3
    Na gut, weil Du es bist:

    Code:
    test=# select * from foo order by 1;
         d      | v
    ------------+----
     2010-01-01 | 10
     2010-01-02 | 20
     2010-01-03 | 22
     2010-01-05 | 33
     2010-06-01 |  5
    (5 rows)
    
    test=# select extract(week from d), avg(v) from foo group by 1 order by 1;
     date_part |         avg
    -----------+---------------------
             1 | 33.0000000000000000
            22 |  5.0000000000000000
            53 | 17.3333333333333333
    (3 rows)
    geht auch in 8.3.

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  7. #7
    Gisman ist offline Erfahrener Benutzer
    Registriert seit
    20.01.2006
    Ort
    Pfalz
    Beiträge
    794

    Standard

    Hallo Kollege/Leidensgenosse ,
    So als Tip: Falls hinterher (wie immer )noch Ausreisserentfernung, gleitende Mittel, sonstiges Statistik-Foo dazu kommen sollte ist ein Upgrade auf 8.4 anzuraten. Hier sind Windowing-Funktions ein extrem hilfreiches Mittel, wie ich dieses Jahr erfahren durfte.

    Gruß Uwe
    Have a lot of fun!

  8. #8
    Grandfather ist offline Neuer Benutzer
    Registriert seit
    11.11.2010
    Beiträge
    5

    Standard

    Hallo Gemeinde,

    test=# select * from foo order by 1;

    konnte ich leider ersteinmal nichts anfangen, aber trotzdem danke für die schnelle Antwort.
    Evtl. hab ich mein Problem auch unzureichend beschrieben.


    1. Spalte Datum 2.Spalte Aufnahmezeit 3.Spalte Durchfluss

    die Aufnahmezeit hat einen viertel stündlichen Intervall, 00:00 00:15 00:30 ...
    Die Fragestellung ist nach den wöchentlichen Durchschnittswerten des Wasserdurchfluss.

    select extract(week from to_date(jahr, 'dd/mm/yyyy'))from messstation
    bringt mir ja zumindest schon einmal das datum als woche wieder, obwohl ich nicht weiß, ob das überhaupt sinn macht.
    Bin für jede Hilfe sehr dankbar!
    Henning

  9. #9
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von Grandfather Beitrag anzeigen
    Hallo Gemeinde,

    test=# select * from foo order by 1;

    konnte ich leider ersteinmal nichts anfangen, aber trotzdem danke für die schnelle Antwort.
    Evtl. hab ich mein Problem auch unzureichend beschrieben.
    War nur um meine Demo-Tabelle zu zeigen.

    1. Spalte Datum 2.Spalte Aufnahmezeit 3.Spalte Durchfluss

    die Aufnahmezeit hat einen viertel stündlichen Intervall, 00:00 00:15 00:30 ...
    Die Fragestellung ist nach den wöchentlichen Durchschnittswerten des Wasserdurchfluss.

    select extract(week from to_date(jahr, 'dd/mm/yyyy'))from messstation
    bringt mir ja zumindest schon einmal das datum als woche wieder, obwohl ich nicht weiß, ob das überhaupt sinn macht.
    Bin für jede Hilfe sehr dankbar!
    Henning
    Nun, guggst Du noch mal mein Beispiel, guggst, welcher Tag auf welche Woche fällt und guggst, was in dieser Woche der Durchschnitt der v-Spalte ist.


    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  10. #10
    Grandfather ist offline Neuer Benutzer
    Registriert seit
    11.11.2010
    Beiträge
    5

    Standard

    Hallo Gemeinde,

    um dieses Thema einmal abzuschließen, mit dieser Abfrage habe ich es dann tatsächlich hin bekommen:

    CREATE VIEW Durchschnitt as select extract (week from to_date(jahr, 'dd/mm/yyyy')) as date1, avg(durchfluss) as durchfluss from eisenhammer_d group by date1 order by date1


    Beste Grüße
    Henning

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum