【问题标题】:Use Linq to group and organise list of data in correct order使用 Linq 以正确的顺序对数据列表进行分组和组织
【发布时间】:2011-11-15 02:26:24
【问题描述】:

我有以下数据表,我需要按季度对其进行分组。我基本上需要显示 1 月总计,其中包括 1 月 2 月 3 月,然后我需要显示 4 月总计,其中包括 4 月 5 月 6 月等。我还需要以相同的顺序显示非高峰期和年份

【问题讨论】:

  • 您应该包含更多关于底层数据源的信息。这是 Linq 2 SQL 吗?英孚?阿多? POCO?

标签: c# linq linq-to-sql


【解决方案1】:

如果您可以“整理”您的数据,以便将月份表示为 0 到 11 的整数,那么您可以通过在int(month / 3) 上进行分组来将它们分组为季度。 Jan(0), Feb(1), March(2) div 3 all = 0. April(3), May(4), June(5) div 3 all = 1, etc. 季度编号 (Q1, Q2,等)是int(month / 3) + 1

如果月份以字符串形式存储在数据库中,您必须编写一个映射函数来将字符串名称减少为月份编号(switch 语句),并祈祷这个应用程序永远不会被其他任何人使用或看到比说英语的人。 ;>

【讨论】:

  • 感谢您抽出宝贵时间。我照你说的做了,想出了这个 linq var results2 = (from c in results orderby c.Month group c by new {Month = (c.Month -1) / 3, c.Year } into g select g);
猜你喜欢
  • 1970-01-01
  • 2016-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-05
  • 1970-01-01
  • 2019-09-15
相关资源
最近更新 更多