does date field store timepart too? if yes,
select count(*), count(distinct personalid), dateadd(dd,datediff(dd,0,[date]),0)
from tbl
group by dateadd(dd,datediff(dd,0,[date]),0)
------------------------------------------------------------------------------------------------------
SQL Server MVP
http://visakhm.blogspot.com/