(From row In dtInput Group By id=row(0) Into grp = Group Let md=grp.Max(Function (d) d(1)) Let mt = grp.Max(Function(x) Cdate(If(x(1).ToString.Trim.Equals(String.Empty),"12/30/1899 ",CDate(x(1).Tostring).ToString("MM/dd/yyyy ")) + If(x(2).ToString.Trim.Equals(String.Empty),"00:00:00 AM",Cdate(x(2).Tostring).ToString("hh:mm:ss tt")))) Select dtMax.Rows.Add({id,If(md.ToString.Trim.Equals(String.Empty),"",CDate(md.Tostring).ToString("MM/dd/yyyy")),cdate(mt).ToString("hh:mm tt")})).CopyToDataTable