Ich weiss jetzt nicht so genau wo dein Problem ist.
Diese Abfrage liefert doch dein gewünschtes Ergebnis...
SQL-Code:
SELECT MONTH(a.f_date) AS monat, YEAR(a.f_date) AS jahr, a.f_name, COUNT(*) AS anzahl
FROM tbl_daten a
LEFT JOIN tbl_daten b
ON ( a.f_date = b.f_date + 1
AND b.f_content IN ('W', 'F'))
WHERE a.f_content IN ('W', 'F')
AND b.nameID IS NULL
GROUP BY a.f_name, MONTH(a.f_date), YEAR(a.f_date)
Sonst müsstest du nochmal genau erklären was du wie haben möchtest und bitte wieder mit ordentlichen Beispieldaten. Deine Angaben sind einfach nicht präzise genug.
Ich kann nunmal keine Gedanken lesen, sorry.
Über den LEFT-Join wird ein vorhandener Folgetag, wenn vorhanden, mit dem aktuellen verknüpft. Es werden nur Zeilen mit einem Content W oder F berücksichtigt. Das bedeutet, ein Zyklus erhält verknüpfte Zeilen, nur die letzte Zeile in einem Zyklus findet keinen Folgetag mehr und somit sind alle Spalten in "b" gleich NULL diese Zeilen werden dann gezählt und genau dafür ist das b.nameID IS NULL dort kann auch jede andere Spalte von "b" benutzt werden.