如何使用linq获取列表中不同日期的所有第一条记录

时间:2015-06-02 08:49:48

标签: sql-server list date

我在MS Sql Server中使用这些名为sample的表。

ID    Date                 Description
1    2012/01/02 5:12:43    Desc1
2    2012/01/02 5:12:48    Desc2
3    2012/01/03 5:12:41    Desc3
4    2012/01/03 5:12:43    Desc4

我想写LINQ查询,它将获取每天的第一条记录。期望的输出:

 2012/01/02 5:12:43 
 2012/01/03 5:12:41

1 个答案:

答案 0 :(得分:1)

我怀疑你的意思是,对于每个不同的日期,你想要返回第一个(顺序或按时间顺序?)日期和时间。如果是这样,请尝试

from r in rows
group r by r.Date into g
select g.First()

这将为每个不同的日期提供一个 DateTime。要明确表示您希望每个日期都最早 DateTime,请使用:

from r in rows
group r by r.Date into g
select (from t in g
        order by t
        select t).First()