如何将此 GROUP BY / MIN SQL 查询转换为 LINQ?
Posted
技术标签:
【中文标题】如何将此 GROUP BY / MIN SQL 查询转换为 LINQ?【英文标题】:How do I translate this GROUP BY / MIN SQL query into LINQ? 【发布时间】:2010-10-13 20:21:01 【问题描述】:我计划在子查询中使用它,但无法找出将以下查询转换为 LINQ 的正确语法:
select ChapterID, min(MeetingDate)
from ChapterMeeting
group by ChapterID
【问题讨论】:
【参考方案1】:var query = myDataContext.ChapterMeeting
.GroupBy(cm => cm.ChapterID)
.Select(g => new
g.Key,
MinMeetingDate = g.Min(cm => cm.MeetingDate)
);
【讨论】:
【参考方案2】:嗯,Amy 比我快,但如果你想用“理解”语法来查看它:
var q = (
from cm in context.ChapterMeeting
group cm by cm.ChapterID into cmg
select new
ChapterID = cmg.Key,
FirstMeetingDate = cmg.Min(cm => cm.MeetingDate));
【讨论】:
您能否对您的答案进行更改编辑(“将 cm 按 cm.ChapterID 分组为 cmg”)?我还不能编辑 :)以上是关于如何将此 GROUP BY / MIN SQL 查询转换为 LINQ?的主要内容,如果未能解决你的问题,请参考以下文章
SQL 10位时间戳 除以60 得到整分钟;group by event_ts/60<==> group by 1min
SQL 10位时间戳 除以60 得到整分钟;group by event_ts/60<==> group by 1min