Building on the CASE statement version, use of cross apply to simplify
;WITH TestData (RandomString)
AS
(
SELECTA.RandomString
FROM(
VALUES('Chuff'),
('Chuff1'),
('Chufff'),
('Chuffty'),
('ff'),
('uff'),
('huff')
) AS A(RandomString)
)
SELECTCA1.GroupedThing,
Cnt = COUNT(*)
FROMTestData AS TD
CROSS
APPLY(SELECT CASE WHEN TD.RandomString LIKE 'Chu%' THEN 'Group1' ELSE 'Group2' END) AS CA1(GroupedThing)
GROUPBY CA1.GroupedThing