使用linq的多个组

时间:2013-09-08 23:14:49

标签: linq

我需要在查询中返回2行。一行有一个字符串今天和一些案件今天关闭,在我的第二行我需要一个字符串上周和一些案件在上周关闭。

我如何与范围日期分组?

Sum         Name                                              
----------- ----------
12           Today                                
33           Last Weeb                                        

2 个答案:

答案 0 :(得分:3)

这个怎么样:

var caseCounts = Cases
    .Where(c => c.Date == today || (c.Date >= startOfLastWeek && c.Date <= endOfLastWeek))
    .GroupBy(c => c.Date == today ? "Today" : "Last Week")
    .Select(g => new {
        Name = g.Key, Sum = g.Count() 
    });

您需要事先定义3个日期(todaystartOfLastWeekendOfLastWeek),但它会为您提供您所追求的结果。

答案 1 :(得分:0)

GROUP BY YEARWEEK(date)应该有效。根据您的dbms,您可以使用其他功能,也可以自己编写。

http://www.tutorialspoint.com/sql/sql-date-functions.htm#function_yearweek