Ankündigung

Einklappen
Keine Ankündigung bisher.

abfrage

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • abfrage

    Hallo,

    ich benötige von Euch wieder ein mal eine kleine Denkhilfe.
    Ich müsste von der Datenbank welche seit 10 Jahren (1Minutenwerte) endhält eine abfrage bauen.

    "SELECT `ID`, `Zeit` FROM `abcd` ORDER BY 2 DESC LIMIT 10"

    folgende abfrage gibt mir die ID und Zeit der letzten 10 1min Werte aus.

    Ich müsste diese erweitern in

    letzten 30 Minuten (alle Werte) +
    weiteren 5,5 Stunden (15 Minuten Werte)+
    weiteren 6 Stunden (30 Minuten)

    könnt komme mit den UNION leider nicht weiter

  • #2
    Zitat von tiego Beitrag anzeigen
    komme mit den UNION leider nicht weiter
    Dann schreib die Abfragen doch erstmal unabhängig voneinander.

    Kommentar


    • #3
      Ich verstehe diesen Satz nicht:
      Ich müsste von der Datenbank welche seit 10 Jahren (1Minutenwerte) endhält eine abfrage bauen.
      Bist du sicher dass mit "2" eine Spalte gemeint ist?:
      ORDER BY 2 DESC

      Kommentar


      • #4
        Zitat von Spamversender Beitrag anzeigen
        Bist du sicher dass mit "2" eine Spalte gemeint ist?:
        Trommelwirbel... damit wird nach Spalte 2 sortiert (in dem Fall also Zeit). Das ist einfach eine alternative Schreibweise zu "ORDER BY Zeit".

        Kommentar


        • #5
          Zitat von tiego Beitrag anzeigen

          könnt komme mit den UNION leider nicht weiter
          Mal als Ansatz. Du hast diese Tabelle:

          Code:
          test=# create table tiego as select * from generate_Series(100,1,-1) x; 
          SELECT 100
          tiego enthält nun von 100 abwärts alle Zahlen, das sollen vereinfacht Deine timestamps sein.

          Code:
          test=*# with x1 as (select * from tiego order by 1 desc limit 10), x2 as (select * from (select * from tiego except select * from x1) t2 where x % 5 = 1 order by 1 desc limit 5) select * from x1 union all select * from x2;
            x
          -----
           100
            99
            98
            97
            96
            95
            94
            93
            92
            91
            86
            81
            76
            71
            66
          (15 rows)
          Nun hast die ersten 10 und dann die nächsten 5 im 5-Minuten-Raster. Das zu erweitern auf Dein Ziel überlasse ich Dir zur Übung.
          PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

          Kommentar


          • #6
            Zitat von Spamversender Beitrag anzeigen
            Ich verstehe diesen Satz nicht:
            Bist du sicher dass mit "2" eine Spalte gemeint ist?:
            Daß Du nicht ganz so mitkommst ist nicht schlimm, aber, wie schon mal gesagt: dann sei doch einfach ruhig.
            PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

            Kommentar


            • #7
              Zitat von akretschmer Beitrag anzeigen
              Mal als Ansatz.
              AVG und GROUP BY Zeit%x sind hier wohl angebrachter.

              Kommentar


              • #8
                Zitat von erc Beitrag anzeigen
                AVG und GROUP BY Zeit%x sind hier wohl angebrachter.
                so wie ich verstanden habe will er die letzten X werte alle haben, dann (vom Rest) alle Werter aller N Minuten und dann (vom Rest) alle Werte aller M Minuten. Was willst Du da gruppieren?
                PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

                Kommentar


                • #9
                  Zitat von akretschmer Beitrag anzeigen
                  Daß Du nicht ganz so mitkommst ist nicht schlimm, aber, wie schon mal gesagt: dann sei doch einfach ruhig.
                  Dann erkläre mir doch bitte was der TE damit meint.

                  Kommentar


                  • #10
                    Zitat von Spamversender Beitrag anzeigen
                    Dann erkläre mir doch bitte was der TE damit meint.
                    #8
                    PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

                    Kommentar


                    • #11
                      Zitat von akretschmer Beitrag anzeigen
                      Was willst Du da gruppieren?
                      Id oder Uhrzeit?! Sehr gute Frage. Scheinbar kommt mein Hirn damit nicht klar das jemand jede Minute die Uhrzeit speichert und dichtet da noch was dazu um der Sache Sinn zu geben...

                      Kommentar


                      • #12
                        Zitat von erc Beitrag anzeigen
                        Id oder Uhrzeit?! Sehr gute Frage. Scheinbar kommt mein Hirn damit nicht klar das jemand jede Minute die Uhrzeit speichert und dichtet da noch was dazu um der Sache Sinn zu geben...
                        Wir warten mal ab. Die Aufgabe fand ich so ja erst mal reizvoll, erst mal die aktuellsten X werte, dann Y Werte in größeren Intervall, dann Z Werte in noch größeren Intervall, ... ob man dann darüber aggregiert oder die ausgibt ist ja nebensächlich. Vielleicht gibt es ja eine bessere Lösung, aber dafür die WITH - Syntax zu verwenden bot sich IMHO erst einmal an.

                        Natürlich braucht man eine DB, die das kann, ...
                        PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

                        Kommentar


                        • #13
                          Hallo,

                          danke für eure hilfe, Ich benötige Die Zeit und die ID.
                          bin gerade am Testen....

                          Kommentar


                          • #14
                            Zitat von tiego Beitrag anzeigen
                            Hallo,

                            danke für eure hilfe, Ich benötige Die Zeit und die ID.
                            dachte ich mir ja
                            PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

                            Kommentar


                            • #15
                              Hallo,
                              leider bin ich bis jetzt nicht zum Richtigen ergebniss gekommen.
                              Ich benötige diese abfrage um eine Zeitauswahl auf der Hompage zu realisieren.
                              nach auswahl des "Zeit Wert" werden mittels der ID die restlichen Daten ausgelesen.

                              Momentan lese Ich nur die ersten 10 werte aus, frage Ich alle ab streikt der Browser.

                              "SELECT `ID`, `Zeit` FROM `abcd` ORDER BY 2 DESC LIMIT 10"

                              Für dies benötige Ich die abfrage

                              Kommentar

                              Lädt...
                              X