If your datefield is storing datetime then try this one..
create table testNum
(
val numeric,
msg char(10),
Dt datetime
)
go
insert into testNum values (111,'aaa',getdate())
go
insert into testNum values (111,'bbb',getdate())
go
insert into testNum values (121,'ddd',getdate())
go
insert into testNum values (122,'eee',getdate())
go
select a.val as MobileNo, max(a.dt) as 'date',(select b.msg from testNum b where b.dt= max(a.dt)) as 'Date' from testNum a
group by val
select * from testNum