May be, something like this?
WITH CTE(ID_NUMBER ) as
(
select distinct O.ID_NUMBER ID_NUMBER from Table as O
WHERE (O.FIRST_DATE BETWEEN '20090101' AND '20091231')
)
select ID_NUMBER , count(ID_NUMBER) R_Count from CTE
GROUP BY ID_NUMBER
Or rather,
select O.ID_NUMBER , count(O.ID_NUMBER) R_Count from Table as O
WHERE (O.FIRST_DATE BETWEEN '20090101' AND '20091231')
GROUP BY O.ID_NUMBER
Please provide us teh full details, as in , the table schemas, some sample data, and your EXACT desired result. There will be N-number of ways doing what u wanted..
Hope this helps you!
Cheers!