Můžete to udělat seskupením prvků do 2 sloupců. (číslo a jméno). Poté přejděte k seskupeným datům. Můžete to udělat nějak takto:
var query =
from col in viewData
group col by new
{
col.name,
col.number,
} into groupedCol
select new viewData()
{
number = groupedCol.Key.number,
name = groupedCol.Key.name,
datetime = groupedCol.OrderBy( dateCol => dateCol.datetime).First()
};