Mit GROUP BY kann man in SQL gleiche Werte zusammenfassen.

Ein GROUP BY-Ausdruck muss auch imemr mindestens ein Feld beinhalten.

Manchmal ist es aber nötig, nach mehreren Feldern zu gruppieren und nach
einem zusätzlichen Feld nur unter einer gewissen Bedingung.

In Pseudeo-code also z.B.:GROUP BY
A, B, (IF B IN ('1','45') C)

Die dazu korrekte Formulierung in SQL ist (Firebird ab Version 1.5):
SELECT CASE WHEN B IN ('1','45') THEN C ELSE NULL END, ...
GROUP BY A, B, 1