Czy możesz GRUPOWAĆ Z PRZYPADKIEM, GDY POTRZEBUJESZ nazwa?

Mam instrukcję SELECT obliczaną z CASE WHEN THEN stan (lub może użyć wielu instrukcji IF) aliasowanych jako „Length” i muszę poprawnie pogrupować wyniki razem. Wydaje się, że SELECT działa, ale grupa grupuje je w niewłaściwy sposób. Oto moje stwierdzenie:

SELECT CASE 
    WHEN DATEDIFF(o.EndDate, o.StartDate) < 30 THEN '<1 Month'
    WHEN DATEDIFF(o.EndDate, o.StartDate) < 90 THEN '1 - 2 Months'
    WHEN DATEDIFF(o.EndDate, o.StartDate) < 210 THEN '3 - 4 Months'
    ELSE '>4 Months' END AS 'Length', 
    COUNT(DISTINCT(person.ID)) AS 'COUNT'
FROM person
    INNER JOIN opportunity AS o
    INNER JOIN Organization AS org
    ON person.EntityID = o.id 
        AND O.OrganizationID = Org.ID
WHERE person.TitleID = 2
    AND o.bID = 1
GROUP BY 'Length'
ORDER BY 'Length' ASC;

To grupuje wszystkie wyniki w „3 - 4 miesiące”, co nie jest właściwe…

questionAnswers(2)

yourAnswerToTheQuestion