#Jonas#: Einträge zählen in Abhängigkeit…

Hallo, Danke vorab für die Kollegen die hier im Forum mit hilfreichen Beiträgen und Anregungen unterstützen. Zur besseren Veranschaulichung meines Problems für ich nachvolgen mal eine kleine Tabelle „my_table“ an:

my_table

Ich möchte mit einer SQL-Abfrage die Tabelleneinträge zählen.

Lösung : „SELECT COUNT(id) FROM my_table” ==> Ergebnis = 9

Jetzt möchte ich aber nur die Einträge gezählt haben bei denen das Ergebnis (result) gut ist (also ‚1‘)

Lösung : „SELECT COUNT(id) FROM my_table WHERE result = 1” ==> Ergebnis = 6

Um jetzt alle doppelten einträge mit der gleichen Seriennummer (sn) herauszufiltern habe ich

Lösung : „SELECT COUNT(DISTINCT sn) FROM my_table WHERE result = 1” ==> Ergebnis = 5

???????????????????????????????????????????????????????????????????????????

So, jetzt kommen wir zu meinem Problem. Ich möchte jetzt nur die Anzahl wissen wenn der „letzte“ Eintrag einer Seriennummer (sn) gut war

Lösung : „SELECT COUNT ????? WHERE result = 1” ==> Ergebnis = 4

???????????????????????????????????????????????????????????????????????????

Nätürlich müsste ich das später noch mit einer weiteren Bedingung filtern:

„SELECT COUNT ????? WHERE result = 1 AND BETWEEN '2017-12-17 01:00:00' AND '2017-12-17 02:00:00'“

Danke für jeden hilfreichen Beitrag ;-)

  1. Tach!

    So, jetzt kommen wir zu meinem Problem. Ich möchte jetzt nur die Anzahl wissen wenn der „letzte“ Eintrag einer Seriennummer (sn) gut war

    Formuliere zunächst eine Query, die für eine bestimmte Seriennummer den letzten Eintrag ermittelt. In der SELECT-Klausel sollte am Ende nur der Wert für "gut/nicht gut" stehen. Zu Tests kannst du erstmal * nehmen, um zu prüfen, dass die richtigen Datensätze gewählt werden.

    Diese Query kannst du als Correlated Subquery in den WHERE-Teil deiner Count-Abfrage einbauen.

    dedlfix.

    1. Hallo dedlfix,

      bist Du sicher, dass das mit einer correlated Subquery im WHERE geht? Ich schaffe es nur mit einem Join.

      Rolf

      --
      sumpsi - posui - clusi
      1. Tach!

        bist Du sicher, dass das mit einer correlated Subquery im WHERE geht? Ich schaffe es nur mit einem Join.

        Correlated Subquerys im Where kann ich unter MySQL problemlos aufsetzen.

        dedlfix.