Hi,
also wenn ich es richtig sehe, dann versteht Firebird auch Window-Functions.
Wenn das so ist, dann sollte dir dieser SELECT das passende liefern:
Code:
SELECT
COUNT(*) OVER() AS Anzahl,
Name,
City
FROM
Employee
GROUP BY
Name, City
Hab jetzt keinen Firebird da, aber im
SQL-Server klappt das. Und Anzahl ist dann in jeder Zeile die Gesamt-Anzahl der Zeilen in der Tabelle - nicht die Anzahl der Zeilen in der GROUP BY Gruppe.
Und das ist wirklich das einfachste was man mit Window-Functions machen kann. Jeder der
SQL verwendet sollte sich unbedingt auf der Website von Markus Winand (
https://modern-sql.com/) umsehen - es gibt so viel mehr als
SQL-92. Und jeder Self-JOIN auf diesem Planeten ist ein Self-JOIN zu viel.
HTH und Grüße
Daniel