Einträge zählen in Abhängigkeit…
#Jonas#
- datenbank
- sql
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:
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 ;-)
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.
Hallo dedlfix,
bist Du sicher, dass das mit einer correlated Subquery im WHERE geht? Ich schaffe es nur mit einem Join.
Rolf
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.