Hi Check this query hope this will help you.
Create Table A
(
ID char(6),
CP char(2),
CPDate Datetime
)
Insert into A Values('A00001', 'A0', '10/10/2014')
Insert into A Values('A10000', 'A0', '10/10/2014')
Insert into A Values('A10000', 'A1', '10/11/2014')
Insert into A Values('A10000', 'A2', '11/11/2014')
Insert into A Values('A10000', 'A3', '11/11/2014')
Insert into A Values('A10000', 'A4', '12/15/2014')
Insert into A Values('A10000', 'A5', '12/17/2014')
Insert into A Values('A20000', 'A0', '10/10/2014')
Insert into A Values('A20000', 'A1', '10/12/2014')
Insert into A Values('A20000', 'A2', '11/13/2014')
Insert into A Values('A20000', 'A3', '11/14/2014')
Insert into A Values('A20000', 'A4', '12/15/2014')
Insert into A Values('A20000', 'A5', '12/17/2014')
Insert into A Values('A20000', 'A6', '12/17/2014')
Insert into A Values('A30000', 'A0', '10/10/2014')
Insert into A Values('A30000', 'A1', '10/12/2014')
Insert into A Values('A30000', 'A2 ', '11/01/2014')
SELECT ID,count(CP) FROM A
where CPDate between DateAdd(mm,-1,CPDate)
and getdate()
GROUP BY ID
HAVING count(CP)<4
order by ID;