使用linq group by语句作为子查询

03Usr

我有以下查询,可以正常工作:

var bands = new List<TimeBand>()
            {
                new TimeBand(){Region = 10,PeriodId = 5,StartDate = new DateTime(2013, 04, 01),EndDate = new DateTime(2014, 05, 31),DayName = "Friday",StartTime = "00:00",EndTime = "07:00"},
                new TimeBand(){Region = 10,PeriodId = 5,StartDate = new DateTime(2013, 04, 01),EndDate = new DateTime(2013, 05, 31),DayName = "Friday",StartTime = "07:00",EndTime = "00:00"},
                new TimeBand(){Region = 10,PeriodId = 4,StartDate = new DateTime(2013, 06, 01),EndDate = new DateTime(2013, 08, 31),DayName = "Saturday",StartTime = "20:00",EndTime = "00:00"}
            };

    var query = (from x in bands
                group x by new {x.Region, x.DayName}
                into grp
                    select new TimeBand()
                    {
                        Region = grp.Key.Region,
                        DayName = grp.Key.DayName,
                        StartDate = grp.Min(x => x.StartDate),
                        EndDate = grp.Max(x => x.EndDate)
                    }).ToList();

但是,当我按Region和Dayname对结果进行分组时,我没有在结果中得到其他列,即StartTime和EndTime。

如果这是一个SQL查询,我将在子查询中使用此分组结果并获得其他列。

有没有什么办法可以修改它,所以我也可以获取不包含在group by语句中的属性。

谢谢

谢尔盖·别列佐夫斯基(Sergey Berezovskiy)

对源项目进行分组之后,您便可以进行分组序列。您如何计划这些小组取决于您。通常,您在每个组上选择分组键和一些汇总值(这就是SQL的工作方式)。但是您可以选择每个组本身,或者从每个组中选择第一个项目,或者从最后一个组项目中选择一些值:

from b in bands
group b by new { b.Region, b.DayName } into g
select new {
   g.Key.Region,
   g.Key.DayName,
   StartDate = g.Min(x => x.StartDate),
   EndDate = g.Max(x => x.EndDate),
   AllBandsFromGroup = g,
   FirstBand = g.First(),
   LastBandPeriod = g.Last().Period
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

您如何在子查询中使用group by / having子句?

来自分类Dev

LINQ查询从SQL转换,SQL使用包含GROUP BY和COUNT的子查询

来自分类Dev

子查询中的SQL Group By语句

来自分类Dev

使用GROUP BY的MySQL查询和使用ORDER BY的子查询

来自分类Dev

Rails Activerecord关系:使用子查询作为SQL选择语句的表

来自分类Dev

结合使用MYSQL GROUP_CONCAT和子查询

来自分类Dev

使用sum和group by将sql查询转换为linq

来自分类Dev

如何在子查询中使用HAVING作为Select语句的一部分

来自分类Dev

使用子查询删除语句

来自分类Dev

使用GROUP BY和COUNT优化/重写LINQ查询

来自分类Dev

保留子查询的顺序(使用GROUP BY和ORDER BY)

来自分类Dev

如何对一个数组使用linq的group by和min语句?

来自分类Dev

SUM和GROUP BY使用子查询

来自分类Dev

在SQL中的子查询中使用group by

来自分类Dev

如何在mysql中通过group by使用子查询?

来自分类Dev

如何使用MySQL子查询和GROUP BY

来自分类Dev

LINQ查询从SQL转换,SQL使用包含GROUP BY和COUNT的子查询

来自分类Dev

使用GROUP BY的子查询中的MySQL COUNT

来自分类Dev

使用Group By和Let的LINQ查询

来自分类Dev

Rails Activerecord关系:使用子查询作为SQL select语句的表

来自分类Dev

结合使用MYSQL GROUP_CONCAT和子查询

来自分类Dev

使用LINQ Group By选择XElement的子节点

来自分类Dev

MySQL中使用GROUP BY的子查询非常慢

来自分类Dev

如何对一个数组使用linq的group by和min语句?

来自分类Dev

SUM和GROUP BY使用子查询

来自分类Dev

在SQL中的子查询中使用group by

来自分类Dev

在LINQ to SQL中使用group by

来自分类Dev

如何使用 linq GROUP BY multiple 和 SELECT 查询

来自分类Dev

为什么在 SQL 连接语句中使用 Group By 而在子查询中使用 Order By?

Related 相关文章

  1. 1

    您如何在子查询中使用group by / having子句?

  2. 2

    LINQ查询从SQL转换,SQL使用包含GROUP BY和COUNT的子查询

  3. 3

    子查询中的SQL Group By语句

  4. 4

    使用GROUP BY的MySQL查询和使用ORDER BY的子查询

  5. 5

    Rails Activerecord关系:使用子查询作为SQL选择语句的表

  6. 6

    结合使用MYSQL GROUP_CONCAT和子查询

  7. 7

    使用sum和group by将sql查询转换为linq

  8. 8

    如何在子查询中使用HAVING作为Select语句的一部分

  9. 9

    使用子查询删除语句

  10. 10

    使用GROUP BY和COUNT优化/重写LINQ查询

  11. 11

    保留子查询的顺序(使用GROUP BY和ORDER BY)

  12. 12

    如何对一个数组使用linq的group by和min语句?

  13. 13

    SUM和GROUP BY使用子查询

  14. 14

    在SQL中的子查询中使用group by

  15. 15

    如何在mysql中通过group by使用子查询?

  16. 16

    如何使用MySQL子查询和GROUP BY

  17. 17

    LINQ查询从SQL转换,SQL使用包含GROUP BY和COUNT的子查询

  18. 18

    使用GROUP BY的子查询中的MySQL COUNT

  19. 19

    使用Group By和Let的LINQ查询

  20. 20

    Rails Activerecord关系:使用子查询作为SQL select语句的表

  21. 21

    结合使用MYSQL GROUP_CONCAT和子查询

  22. 22

    使用LINQ Group By选择XElement的子节点

  23. 23

    MySQL中使用GROUP BY的子查询非常慢

  24. 24

    如何对一个数组使用linq的group by和min语句?

  25. 25

    SUM和GROUP BY使用子查询

  26. 26

    在SQL中的子查询中使用group by

  27. 27

    在LINQ to SQL中使用group by

  28. 28

    如何使用 linq GROUP BY multiple 和 SELECT 查询

  29. 29

    为什么在 SQL 连接语句中使用 Group By 而在子查询中使用 Order By?

热门标签

归档